package com.dffl.es.esstudy.model;

import java.math.BigDecimal;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;

public class TSpuExample {
    protected String orderByClause;

    protected boolean distinct;

    protected List<Criteria> oredCriteria;

    public TSpuExample() {
        oredCriteria = new ArrayList<Criteria>();
    }

    public void setOrderByClause(String orderByClause) {
        this.orderByClause = orderByClause;
    }

    public String getOrderByClause() {
        return orderByClause;
    }

    public void setDistinct(boolean distinct) {
        this.distinct = distinct;
    }

    public boolean isDistinct() {
        return distinct;
    }

    public List<Criteria> getOredCriteria() {
        return oredCriteria;
    }

    public void or(Criteria criteria) {
        oredCriteria.add(criteria);
    }

    public Criteria or() {
        Criteria criteria = createCriteriaInternal();
        oredCriteria.add(criteria);
        return criteria;
    }

    public Criteria createCriteria() {
        Criteria criteria = createCriteriaInternal();
        if (oredCriteria.size() == 0) {
            oredCriteria.add(criteria);
        }
        return criteria;
    }

    protected Criteria createCriteriaInternal() {
        Criteria criteria = new Criteria();
        return criteria;
    }

    public void clear() {
        oredCriteria.clear();
        orderByClause = null;
        distinct = false;
    }

    protected abstract static class GeneratedCriteria {
        protected List<Criterion> criteria;

        protected GeneratedCriteria() {
            super();
            criteria = new ArrayList<Criterion>();
        }

        public boolean isValid() {
            return criteria.size() > 0;
        }

        public List<Criterion> getAllCriteria() {
            return criteria;
        }

        public List<Criterion> getCriteria() {
            return criteria;
        }

        protected void addCriterion(String condition) {
            if (condition == null) {
                throw new RuntimeException("Value for condition cannot be null");
            }
            criteria.add(new Criterion(condition));
        }

        protected void addCriterion(String condition, Object value, String property) {
            if (value == null) {
                throw new RuntimeException("Value for " + property + " cannot be null");
            }
            criteria.add(new Criterion(condition, value));
        }

        protected void addCriterion(String condition, Object value1, Object value2, String property) {
            if (value1 == null || value2 == null) {
                throw new RuntimeException("Between values for " + property + " cannot be null");
            }
            criteria.add(new Criterion(condition, value1, value2));
        }

        public Criteria andIdIsNull() {
            addCriterion("id is null");
            return (Criteria) this;
        }

        public Criteria andIdIsNotNull() {
            addCriterion("id is not null");
            return (Criteria) this;
        }

        public Criteria andIdEqualTo(Long value) {
            addCriterion("id =", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdNotEqualTo(Long value) {
            addCriterion("id <>", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdGreaterThan(Long value) {
            addCriterion("id >", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdGreaterThanOrEqualTo(Long value) {
            addCriterion("id >=", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdLessThan(Long value) {
            addCriterion("id <", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdLessThanOrEqualTo(Long value) {
            addCriterion("id <=", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdIn(List<Long> values) {
            addCriterion("id in", values, "id");
            return (Criteria) this;
        }

        public Criteria andIdNotIn(List<Long> values) {
            addCriterion("id not in", values, "id");
            return (Criteria) this;
        }

        public Criteria andIdBetween(Long value1, Long value2) {
            addCriterion("id between", value1, value2, "id");
            return (Criteria) this;
        }

        public Criteria andIdNotBetween(Long value1, Long value2) {
            addCriterion("id not between", value1, value2, "id");
            return (Criteria) this;
        }

        public Criteria andSpuNameIsNull() {
            addCriterion("spu_name is null");
            return (Criteria) this;
        }

        public Criteria andSpuNameIsNotNull() {
            addCriterion("spu_name is not null");
            return (Criteria) this;
        }

        public Criteria andSpuNameEqualTo(String value) {
            addCriterion("spu_name =", value, "spuName");
            return (Criteria) this;
        }

        public Criteria andSpuNameNotEqualTo(String value) {
            addCriterion("spu_name <>", value, "spuName");
            return (Criteria) this;
        }

        public Criteria andSpuNameGreaterThan(String value) {
            addCriterion("spu_name >", value, "spuName");
            return (Criteria) this;
        }

        public Criteria andSpuNameGreaterThanOrEqualTo(String value) {
            addCriterion("spu_name >=", value, "spuName");
            return (Criteria) this;
        }

        public Criteria andSpuNameLessThan(String value) {
            addCriterion("spu_name <", value, "spuName");
            return (Criteria) this;
        }

        public Criteria andSpuNameLessThanOrEqualTo(String value) {
            addCriterion("spu_name <=", value, "spuName");
            return (Criteria) this;
        }

        public Criteria andSpuNameLike(String value) {
            addCriterion("spu_name like", value, "spuName");
            return (Criteria) this;
        }

        public Criteria andSpuNameNotLike(String value) {
            addCriterion("spu_name not like", value, "spuName");
            return (Criteria) this;
        }

        public Criteria andSpuNameIn(List<String> values) {
            addCriterion("spu_name in", values, "spuName");
            return (Criteria) this;
        }

        public Criteria andSpuNameNotIn(List<String> values) {
            addCriterion("spu_name not in", values, "spuName");
            return (Criteria) this;
        }

        public Criteria andSpuNameBetween(String value1, String value2) {
            addCriterion("spu_name between", value1, value2, "spuName");
            return (Criteria) this;
        }

        public Criteria andSpuNameNotBetween(String value1, String value2) {
            addCriterion("spu_name not between", value1, value2, "spuName");
            return (Criteria) this;
        }

        public Criteria andSpuCodeIsNull() {
            addCriterion("spu_code is null");
            return (Criteria) this;
        }

        public Criteria andSpuCodeIsNotNull() {
            addCriterion("spu_code is not null");
            return (Criteria) this;
        }

        public Criteria andSpuCodeEqualTo(String value) {
            addCriterion("spu_code =", value, "spuCode");
            return (Criteria) this;
        }

        public Criteria andSpuCodeNotEqualTo(String value) {
            addCriterion("spu_code <>", value, "spuCode");
            return (Criteria) this;
        }

        public Criteria andSpuCodeGreaterThan(String value) {
            addCriterion("spu_code >", value, "spuCode");
            return (Criteria) this;
        }

        public Criteria andSpuCodeGreaterThanOrEqualTo(String value) {
            addCriterion("spu_code >=", value, "spuCode");
            return (Criteria) this;
        }

        public Criteria andSpuCodeLessThan(String value) {
            addCriterion("spu_code <", value, "spuCode");
            return (Criteria) this;
        }

        public Criteria andSpuCodeLessThanOrEqualTo(String value) {
            addCriterion("spu_code <=", value, "spuCode");
            return (Criteria) this;
        }

        public Criteria andSpuCodeLike(String value) {
            addCriterion("spu_code like", value, "spuCode");
            return (Criteria) this;
        }

        public Criteria andSpuCodeNotLike(String value) {
            addCriterion("spu_code not like", value, "spuCode");
            return (Criteria) this;
        }

        public Criteria andSpuCodeIn(List<String> values) {
            addCriterion("spu_code in", values, "spuCode");
            return (Criteria) this;
        }

        public Criteria andSpuCodeNotIn(List<String> values) {
            addCriterion("spu_code not in", values, "spuCode");
            return (Criteria) this;
        }

        public Criteria andSpuCodeBetween(String value1, String value2) {
            addCriterion("spu_code between", value1, value2, "spuCode");
            return (Criteria) this;
        }

        public Criteria andSpuCodeNotBetween(String value1, String value2) {
            addCriterion("spu_code not between", value1, value2, "spuCode");
            return (Criteria) this;
        }

        public Criteria andSpuSubtitleIsNull() {
            addCriterion("spu_subtitle is null");
            return (Criteria) this;
        }

        public Criteria andSpuSubtitleIsNotNull() {
            addCriterion("spu_subtitle is not null");
            return (Criteria) this;
        }

        public Criteria andSpuSubtitleEqualTo(String value) {
            addCriterion("spu_subtitle =", value, "spuSubtitle");
            return (Criteria) this;
        }

        public Criteria andSpuSubtitleNotEqualTo(String value) {
            addCriterion("spu_subtitle <>", value, "spuSubtitle");
            return (Criteria) this;
        }

        public Criteria andSpuSubtitleGreaterThan(String value) {
            addCriterion("spu_subtitle >", value, "spuSubtitle");
            return (Criteria) this;
        }

        public Criteria andSpuSubtitleGreaterThanOrEqualTo(String value) {
            addCriterion("spu_subtitle >=", value, "spuSubtitle");
            return (Criteria) this;
        }

        public Criteria andSpuSubtitleLessThan(String value) {
            addCriterion("spu_subtitle <", value, "spuSubtitle");
            return (Criteria) this;
        }

        public Criteria andSpuSubtitleLessThanOrEqualTo(String value) {
            addCriterion("spu_subtitle <=", value, "spuSubtitle");
            return (Criteria) this;
        }

        public Criteria andSpuSubtitleLike(String value) {
            addCriterion("spu_subtitle like", value, "spuSubtitle");
            return (Criteria) this;
        }

        public Criteria andSpuSubtitleNotLike(String value) {
            addCriterion("spu_subtitle not like", value, "spuSubtitle");
            return (Criteria) this;
        }

        public Criteria andSpuSubtitleIn(List<String> values) {
            addCriterion("spu_subtitle in", values, "spuSubtitle");
            return (Criteria) this;
        }

        public Criteria andSpuSubtitleNotIn(List<String> values) {
            addCriterion("spu_subtitle not in", values, "spuSubtitle");
            return (Criteria) this;
        }

        public Criteria andSpuSubtitleBetween(String value1, String value2) {
            addCriterion("spu_subtitle between", value1, value2, "spuSubtitle");
            return (Criteria) this;
        }

        public Criteria andSpuSubtitleNotBetween(String value1, String value2) {
            addCriterion("spu_subtitle not between", value1, value2, "spuSubtitle");
            return (Criteria) this;
        }

        public Criteria andSpuSubtitleEnIsNull() {
            addCriterion("spu_subtitle_en is null");
            return (Criteria) this;
        }

        public Criteria andSpuSubtitleEnIsNotNull() {
            addCriterion("spu_subtitle_en is not null");
            return (Criteria) this;
        }

        public Criteria andSpuSubtitleEnEqualTo(String value) {
            addCriterion("spu_subtitle_en =", value, "spuSubtitleEn");
            return (Criteria) this;
        }

        public Criteria andSpuSubtitleEnNotEqualTo(String value) {
            addCriterion("spu_subtitle_en <>", value, "spuSubtitleEn");
            return (Criteria) this;
        }

        public Criteria andSpuSubtitleEnGreaterThan(String value) {
            addCriterion("spu_subtitle_en >", value, "spuSubtitleEn");
            return (Criteria) this;
        }

        public Criteria andSpuSubtitleEnGreaterThanOrEqualTo(String value) {
            addCriterion("spu_subtitle_en >=", value, "spuSubtitleEn");
            return (Criteria) this;
        }

        public Criteria andSpuSubtitleEnLessThan(String value) {
            addCriterion("spu_subtitle_en <", value, "spuSubtitleEn");
            return (Criteria) this;
        }

        public Criteria andSpuSubtitleEnLessThanOrEqualTo(String value) {
            addCriterion("spu_subtitle_en <=", value, "spuSubtitleEn");
            return (Criteria) this;
        }

        public Criteria andSpuSubtitleEnLike(String value) {
            addCriterion("spu_subtitle_en like", value, "spuSubtitleEn");
            return (Criteria) this;
        }

        public Criteria andSpuSubtitleEnNotLike(String value) {
            addCriterion("spu_subtitle_en not like", value, "spuSubtitleEn");
            return (Criteria) this;
        }

        public Criteria andSpuSubtitleEnIn(List<String> values) {
            addCriterion("spu_subtitle_en in", values, "spuSubtitleEn");
            return (Criteria) this;
        }

        public Criteria andSpuSubtitleEnNotIn(List<String> values) {
            addCriterion("spu_subtitle_en not in", values, "spuSubtitleEn");
            return (Criteria) this;
        }

        public Criteria andSpuSubtitleEnBetween(String value1, String value2) {
            addCriterion("spu_subtitle_en between", value1, value2, "spuSubtitleEn");
            return (Criteria) this;
        }

        public Criteria andSpuSubtitleEnNotBetween(String value1, String value2) {
            addCriterion("spu_subtitle_en not between", value1, value2, "spuSubtitleEn");
            return (Criteria) this;
        }

        public Criteria andSpuBackCategoryIdIsNull() {
            addCriterion("spu_back_category_id is null");
            return (Criteria) this;
        }

        public Criteria andSpuBackCategoryIdIsNotNull() {
            addCriterion("spu_back_category_id is not null");
            return (Criteria) this;
        }

        public Criteria andSpuBackCategoryIdEqualTo(Long value) {
            addCriterion("spu_back_category_id =", value, "spuBackCategoryId");
            return (Criteria) this;
        }

        public Criteria andSpuBackCategoryIdNotEqualTo(Long value) {
            addCriterion("spu_back_category_id <>", value, "spuBackCategoryId");
            return (Criteria) this;
        }

        public Criteria andSpuBackCategoryIdGreaterThan(Long value) {
            addCriterion("spu_back_category_id >", value, "spuBackCategoryId");
            return (Criteria) this;
        }

        public Criteria andSpuBackCategoryIdGreaterThanOrEqualTo(Long value) {
            addCriterion("spu_back_category_id >=", value, "spuBackCategoryId");
            return (Criteria) this;
        }

        public Criteria andSpuBackCategoryIdLessThan(Long value) {
            addCriterion("spu_back_category_id <", value, "spuBackCategoryId");
            return (Criteria) this;
        }

        public Criteria andSpuBackCategoryIdLessThanOrEqualTo(Long value) {
            addCriterion("spu_back_category_id <=", value, "spuBackCategoryId");
            return (Criteria) this;
        }

        public Criteria andSpuBackCategoryIdIn(List<Long> values) {
            addCriterion("spu_back_category_id in", values, "spuBackCategoryId");
            return (Criteria) this;
        }

        public Criteria andSpuBackCategoryIdNotIn(List<Long> values) {
            addCriterion("spu_back_category_id not in", values, "spuBackCategoryId");
            return (Criteria) this;
        }

        public Criteria andSpuBackCategoryIdBetween(Long value1, Long value2) {
            addCriterion("spu_back_category_id between", value1, value2, "spuBackCategoryId");
            return (Criteria) this;
        }

        public Criteria andSpuBackCategoryIdNotBetween(Long value1, Long value2) {
            addCriterion("spu_back_category_id not between", value1, value2, "spuBackCategoryId");
            return (Criteria) this;
        }

        public Criteria andSpuTypeIsNull() {
            addCriterion("spu_type is null");
            return (Criteria) this;
        }

        public Criteria andSpuTypeIsNotNull() {
            addCriterion("spu_type is not null");
            return (Criteria) this;
        }

        public Criteria andSpuTypeEqualTo(Integer value) {
            addCriterion("spu_type =", value, "spuType");
            return (Criteria) this;
        }

        public Criteria andSpuTypeNotEqualTo(Integer value) {
            addCriterion("spu_type <>", value, "spuType");
            return (Criteria) this;
        }

        public Criteria andSpuTypeGreaterThan(Integer value) {
            addCriterion("spu_type >", value, "spuType");
            return (Criteria) this;
        }

        public Criteria andSpuTypeGreaterThanOrEqualTo(Integer value) {
            addCriterion("spu_type >=", value, "spuType");
            return (Criteria) this;
        }

        public Criteria andSpuTypeLessThan(Integer value) {
            addCriterion("spu_type <", value, "spuType");
            return (Criteria) this;
        }

        public Criteria andSpuTypeLessThanOrEqualTo(Integer value) {
            addCriterion("spu_type <=", value, "spuType");
            return (Criteria) this;
        }

        public Criteria andSpuTypeIn(List<Integer> values) {
            addCriterion("spu_type in", values, "spuType");
            return (Criteria) this;
        }

        public Criteria andSpuTypeNotIn(List<Integer> values) {
            addCriterion("spu_type not in", values, "spuType");
            return (Criteria) this;
        }

        public Criteria andSpuTypeBetween(Integer value1, Integer value2) {
            addCriterion("spu_type between", value1, value2, "spuType");
            return (Criteria) this;
        }

        public Criteria andSpuTypeNotBetween(Integer value1, Integer value2) {
            addCriterion("spu_type not between", value1, value2, "spuType");
            return (Criteria) this;
        }

        public Criteria andHeaderPicIsNull() {
            addCriterion("header_pic is null");
            return (Criteria) this;
        }

        public Criteria andHeaderPicIsNotNull() {
            addCriterion("header_pic is not null");
            return (Criteria) this;
        }

        public Criteria andHeaderPicEqualTo(String value) {
            addCriterion("header_pic =", value, "headerPic");
            return (Criteria) this;
        }

        public Criteria andHeaderPicNotEqualTo(String value) {
            addCriterion("header_pic <>", value, "headerPic");
            return (Criteria) this;
        }

        public Criteria andHeaderPicGreaterThan(String value) {
            addCriterion("header_pic >", value, "headerPic");
            return (Criteria) this;
        }

        public Criteria andHeaderPicGreaterThanOrEqualTo(String value) {
            addCriterion("header_pic >=", value, "headerPic");
            return (Criteria) this;
        }

        public Criteria andHeaderPicLessThan(String value) {
            addCriterion("header_pic <", value, "headerPic");
            return (Criteria) this;
        }

        public Criteria andHeaderPicLessThanOrEqualTo(String value) {
            addCriterion("header_pic <=", value, "headerPic");
            return (Criteria) this;
        }

        public Criteria andHeaderPicLike(String value) {
            addCriterion("header_pic like", value, "headerPic");
            return (Criteria) this;
        }

        public Criteria andHeaderPicNotLike(String value) {
            addCriterion("header_pic not like", value, "headerPic");
            return (Criteria) this;
        }

        public Criteria andHeaderPicIn(List<String> values) {
            addCriterion("header_pic in", values, "headerPic");
            return (Criteria) this;
        }

        public Criteria andHeaderPicNotIn(List<String> values) {
            addCriterion("header_pic not in", values, "headerPic");
            return (Criteria) this;
        }

        public Criteria andHeaderPicBetween(String value1, String value2) {
            addCriterion("header_pic between", value1, value2, "headerPic");
            return (Criteria) this;
        }

        public Criteria andHeaderPicNotBetween(String value1, String value2) {
            addCriterion("header_pic not between", value1, value2, "headerPic");
            return (Criteria) this;
        }

        public Criteria andPurchaseGroupIdIsNull() {
            addCriterion("purchase_group_id is null");
            return (Criteria) this;
        }

        public Criteria andPurchaseGroupIdIsNotNull() {
            addCriterion("purchase_group_id is not null");
            return (Criteria) this;
        }

        public Criteria andPurchaseGroupIdEqualTo(String value) {
            addCriterion("purchase_group_id =", value, "purchaseGroupId");
            return (Criteria) this;
        }

        public Criteria andPurchaseGroupIdNotEqualTo(String value) {
            addCriterion("purchase_group_id <>", value, "purchaseGroupId");
            return (Criteria) this;
        }

        public Criteria andPurchaseGroupIdGreaterThan(String value) {
            addCriterion("purchase_group_id >", value, "purchaseGroupId");
            return (Criteria) this;
        }

        public Criteria andPurchaseGroupIdGreaterThanOrEqualTo(String value) {
            addCriterion("purchase_group_id >=", value, "purchaseGroupId");
            return (Criteria) this;
        }

        public Criteria andPurchaseGroupIdLessThan(String value) {
            addCriterion("purchase_group_id <", value, "purchaseGroupId");
            return (Criteria) this;
        }

        public Criteria andPurchaseGroupIdLessThanOrEqualTo(String value) {
            addCriterion("purchase_group_id <=", value, "purchaseGroupId");
            return (Criteria) this;
        }

        public Criteria andPurchaseGroupIdLike(String value) {
            addCriterion("purchase_group_id like", value, "purchaseGroupId");
            return (Criteria) this;
        }

        public Criteria andPurchaseGroupIdNotLike(String value) {
            addCriterion("purchase_group_id not like", value, "purchaseGroupId");
            return (Criteria) this;
        }

        public Criteria andPurchaseGroupIdIn(List<String> values) {
            addCriterion("purchase_group_id in", values, "purchaseGroupId");
            return (Criteria) this;
        }

        public Criteria andPurchaseGroupIdNotIn(List<String> values) {
            addCriterion("purchase_group_id not in", values, "purchaseGroupId");
            return (Criteria) this;
        }

        public Criteria andPurchaseGroupIdBetween(String value1, String value2) {
            addCriterion("purchase_group_id between", value1, value2, "purchaseGroupId");
            return (Criteria) this;
        }

        public Criteria andPurchaseGroupIdNotBetween(String value1, String value2) {
            addCriterion("purchase_group_id not between", value1, value2, "purchaseGroupId");
            return (Criteria) this;
        }

        public Criteria andPurchaseTeamIdIsNull() {
            addCriterion("purchase_team_id is null");
            return (Criteria) this;
        }

        public Criteria andPurchaseTeamIdIsNotNull() {
            addCriterion("purchase_team_id is not null");
            return (Criteria) this;
        }

        public Criteria andPurchaseTeamIdEqualTo(String value) {
            addCriterion("purchase_team_id =", value, "purchaseTeamId");
            return (Criteria) this;
        }

        public Criteria andPurchaseTeamIdNotEqualTo(String value) {
            addCriterion("purchase_team_id <>", value, "purchaseTeamId");
            return (Criteria) this;
        }

        public Criteria andPurchaseTeamIdGreaterThan(String value) {
            addCriterion("purchase_team_id >", value, "purchaseTeamId");
            return (Criteria) this;
        }

        public Criteria andPurchaseTeamIdGreaterThanOrEqualTo(String value) {
            addCriterion("purchase_team_id >=", value, "purchaseTeamId");
            return (Criteria) this;
        }

        public Criteria andPurchaseTeamIdLessThan(String value) {
            addCriterion("purchase_team_id <", value, "purchaseTeamId");
            return (Criteria) this;
        }

        public Criteria andPurchaseTeamIdLessThanOrEqualTo(String value) {
            addCriterion("purchase_team_id <=", value, "purchaseTeamId");
            return (Criteria) this;
        }

        public Criteria andPurchaseTeamIdLike(String value) {
            addCriterion("purchase_team_id like", value, "purchaseTeamId");
            return (Criteria) this;
        }

        public Criteria andPurchaseTeamIdNotLike(String value) {
            addCriterion("purchase_team_id not like", value, "purchaseTeamId");
            return (Criteria) this;
        }

        public Criteria andPurchaseTeamIdIn(List<String> values) {
            addCriterion("purchase_team_id in", values, "purchaseTeamId");
            return (Criteria) this;
        }

        public Criteria andPurchaseTeamIdNotIn(List<String> values) {
            addCriterion("purchase_team_id not in", values, "purchaseTeamId");
            return (Criteria) this;
        }

        public Criteria andPurchaseTeamIdBetween(String value1, String value2) {
            addCriterion("purchase_team_id between", value1, value2, "purchaseTeamId");
            return (Criteria) this;
        }

        public Criteria andPurchaseTeamIdNotBetween(String value1, String value2) {
            addCriterion("purchase_team_id not between", value1, value2, "purchaseTeamId");
            return (Criteria) this;
        }

        public Criteria andPurchaserIdIsNull() {
            addCriterion("purchaser_id is null");
            return (Criteria) this;
        }

        public Criteria andPurchaserIdIsNotNull() {
            addCriterion("purchaser_id is not null");
            return (Criteria) this;
        }

        public Criteria andPurchaserIdEqualTo(Long value) {
            addCriterion("purchaser_id =", value, "purchaserId");
            return (Criteria) this;
        }

        public Criteria andPurchaserIdNotEqualTo(Long value) {
            addCriterion("purchaser_id <>", value, "purchaserId");
            return (Criteria) this;
        }

        public Criteria andPurchaserIdGreaterThan(Long value) {
            addCriterion("purchaser_id >", value, "purchaserId");
            return (Criteria) this;
        }

        public Criteria andPurchaserIdGreaterThanOrEqualTo(Long value) {
            addCriterion("purchaser_id >=", value, "purchaserId");
            return (Criteria) this;
        }

        public Criteria andPurchaserIdLessThan(Long value) {
            addCriterion("purchaser_id <", value, "purchaserId");
            return (Criteria) this;
        }

        public Criteria andPurchaserIdLessThanOrEqualTo(Long value) {
            addCriterion("purchaser_id <=", value, "purchaserId");
            return (Criteria) this;
        }

        public Criteria andPurchaserIdIn(List<Long> values) {
            addCriterion("purchaser_id in", values, "purchaserId");
            return (Criteria) this;
        }

        public Criteria andPurchaserIdNotIn(List<Long> values) {
            addCriterion("purchaser_id not in", values, "purchaserId");
            return (Criteria) this;
        }

        public Criteria andPurchaserIdBetween(Long value1, Long value2) {
            addCriterion("purchaser_id between", value1, value2, "purchaserId");
            return (Criteria) this;
        }

        public Criteria andPurchaserIdNotBetween(Long value1, Long value2) {
            addCriterion("purchaser_id not between", value1, value2, "purchaserId");
            return (Criteria) this;
        }

        public Criteria andPurchaserNameIsNull() {
            addCriterion("purchaser_name is null");
            return (Criteria) this;
        }

        public Criteria andPurchaserNameIsNotNull() {
            addCriterion("purchaser_name is not null");
            return (Criteria) this;
        }

        public Criteria andPurchaserNameEqualTo(String value) {
            addCriterion("purchaser_name =", value, "purchaserName");
            return (Criteria) this;
        }

        public Criteria andPurchaserNameNotEqualTo(String value) {
            addCriterion("purchaser_name <>", value, "purchaserName");
            return (Criteria) this;
        }

        public Criteria andPurchaserNameGreaterThan(String value) {
            addCriterion("purchaser_name >", value, "purchaserName");
            return (Criteria) this;
        }

        public Criteria andPurchaserNameGreaterThanOrEqualTo(String value) {
            addCriterion("purchaser_name >=", value, "purchaserName");
            return (Criteria) this;
        }

        public Criteria andPurchaserNameLessThan(String value) {
            addCriterion("purchaser_name <", value, "purchaserName");
            return (Criteria) this;
        }

        public Criteria andPurchaserNameLessThanOrEqualTo(String value) {
            addCriterion("purchaser_name <=", value, "purchaserName");
            return (Criteria) this;
        }

        public Criteria andPurchaserNameLike(String value) {
            addCriterion("purchaser_name like", value, "purchaserName");
            return (Criteria) this;
        }

        public Criteria andPurchaserNameNotLike(String value) {
            addCriterion("purchaser_name not like", value, "purchaserName");
            return (Criteria) this;
        }

        public Criteria andPurchaserNameIn(List<String> values) {
            addCriterion("purchaser_name in", values, "purchaserName");
            return (Criteria) this;
        }

        public Criteria andPurchaserNameNotIn(List<String> values) {
            addCriterion("purchaser_name not in", values, "purchaserName");
            return (Criteria) this;
        }

        public Criteria andPurchaserNameBetween(String value1, String value2) {
            addCriterion("purchaser_name between", value1, value2, "purchaserName");
            return (Criteria) this;
        }

        public Criteria andPurchaserNameNotBetween(String value1, String value2) {
            addCriterion("purchaser_name not between", value1, value2, "purchaserName");
            return (Criteria) this;
        }

        public Criteria andBrandIdIsNull() {
            addCriterion("brand_id is null");
            return (Criteria) this;
        }

        public Criteria andBrandIdIsNotNull() {
            addCriterion("brand_id is not null");
            return (Criteria) this;
        }

        public Criteria andBrandIdEqualTo(Long value) {
            addCriterion("brand_id =", value, "brandId");
            return (Criteria) this;
        }

        public Criteria andBrandIdNotEqualTo(Long value) {
            addCriterion("brand_id <>", value, "brandId");
            return (Criteria) this;
        }

        public Criteria andBrandIdGreaterThan(Long value) {
            addCriterion("brand_id >", value, "brandId");
            return (Criteria) this;
        }

        public Criteria andBrandIdGreaterThanOrEqualTo(Long value) {
            addCriterion("brand_id >=", value, "brandId");
            return (Criteria) this;
        }

        public Criteria andBrandIdLessThan(Long value) {
            addCriterion("brand_id <", value, "brandId");
            return (Criteria) this;
        }

        public Criteria andBrandIdLessThanOrEqualTo(Long value) {
            addCriterion("brand_id <=", value, "brandId");
            return (Criteria) this;
        }

        public Criteria andBrandIdIn(List<Long> values) {
            addCriterion("brand_id in", values, "brandId");
            return (Criteria) this;
        }

        public Criteria andBrandIdNotIn(List<Long> values) {
            addCriterion("brand_id not in", values, "brandId");
            return (Criteria) this;
        }

        public Criteria andBrandIdBetween(Long value1, Long value2) {
            addCriterion("brand_id between", value1, value2, "brandId");
            return (Criteria) this;
        }

        public Criteria andBrandIdNotBetween(Long value1, Long value2) {
            addCriterion("brand_id not between", value1, value2, "brandId");
            return (Criteria) this;
        }

        public Criteria andManufactorIsNull() {
            addCriterion("manufactor is null");
            return (Criteria) this;
        }

        public Criteria andManufactorIsNotNull() {
            addCriterion("manufactor is not null");
            return (Criteria) this;
        }

        public Criteria andManufactorEqualTo(String value) {
            addCriterion("manufactor =", value, "manufactor");
            return (Criteria) this;
        }

        public Criteria andManufactorNotEqualTo(String value) {
            addCriterion("manufactor <>", value, "manufactor");
            return (Criteria) this;
        }

        public Criteria andManufactorGreaterThan(String value) {
            addCriterion("manufactor >", value, "manufactor");
            return (Criteria) this;
        }

        public Criteria andManufactorGreaterThanOrEqualTo(String value) {
            addCriterion("manufactor >=", value, "manufactor");
            return (Criteria) this;
        }

        public Criteria andManufactorLessThan(String value) {
            addCriterion("manufactor <", value, "manufactor");
            return (Criteria) this;
        }

        public Criteria andManufactorLessThanOrEqualTo(String value) {
            addCriterion("manufactor <=", value, "manufactor");
            return (Criteria) this;
        }

        public Criteria andManufactorLike(String value) {
            addCriterion("manufactor like", value, "manufactor");
            return (Criteria) this;
        }

        public Criteria andManufactorNotLike(String value) {
            addCriterion("manufactor not like", value, "manufactor");
            return (Criteria) this;
        }

        public Criteria andManufactorIn(List<String> values) {
            addCriterion("manufactor in", values, "manufactor");
            return (Criteria) this;
        }

        public Criteria andManufactorNotIn(List<String> values) {
            addCriterion("manufactor not in", values, "manufactor");
            return (Criteria) this;
        }

        public Criteria andManufactorBetween(String value1, String value2) {
            addCriterion("manufactor between", value1, value2, "manufactor");
            return (Criteria) this;
        }

        public Criteria andManufactorNotBetween(String value1, String value2) {
            addCriterion("manufactor not between", value1, value2, "manufactor");
            return (Criteria) this;
        }

        public Criteria andManufactorCodeIsNull() {
            addCriterion("manufactor_code is null");
            return (Criteria) this;
        }

        public Criteria andManufactorCodeIsNotNull() {
            addCriterion("manufactor_code is not null");
            return (Criteria) this;
        }

        public Criteria andManufactorCodeEqualTo(String value) {
            addCriterion("manufactor_code =", value, "manufactorCode");
            return (Criteria) this;
        }

        public Criteria andManufactorCodeNotEqualTo(String value) {
            addCriterion("manufactor_code <>", value, "manufactorCode");
            return (Criteria) this;
        }

        public Criteria andManufactorCodeGreaterThan(String value) {
            addCriterion("manufactor_code >", value, "manufactorCode");
            return (Criteria) this;
        }

        public Criteria andManufactorCodeGreaterThanOrEqualTo(String value) {
            addCriterion("manufactor_code >=", value, "manufactorCode");
            return (Criteria) this;
        }

        public Criteria andManufactorCodeLessThan(String value) {
            addCriterion("manufactor_code <", value, "manufactorCode");
            return (Criteria) this;
        }

        public Criteria andManufactorCodeLessThanOrEqualTo(String value) {
            addCriterion("manufactor_code <=", value, "manufactorCode");
            return (Criteria) this;
        }

        public Criteria andManufactorCodeLike(String value) {
            addCriterion("manufactor_code like", value, "manufactorCode");
            return (Criteria) this;
        }

        public Criteria andManufactorCodeNotLike(String value) {
            addCriterion("manufactor_code not like", value, "manufactorCode");
            return (Criteria) this;
        }

        public Criteria andManufactorCodeIn(List<String> values) {
            addCriterion("manufactor_code in", values, "manufactorCode");
            return (Criteria) this;
        }

        public Criteria andManufactorCodeNotIn(List<String> values) {
            addCriterion("manufactor_code not in", values, "manufactorCode");
            return (Criteria) this;
        }

        public Criteria andManufactorCodeBetween(String value1, String value2) {
            addCriterion("manufactor_code between", value1, value2, "manufactorCode");
            return (Criteria) this;
        }

        public Criteria andManufactorCodeNotBetween(String value1, String value2) {
            addCriterion("manufactor_code not between", value1, value2, "manufactorCode");
            return (Criteria) this;
        }

        public Criteria andIsImportIsNull() {
            addCriterion("is_import is null");
            return (Criteria) this;
        }

        public Criteria andIsImportIsNotNull() {
            addCriterion("is_import is not null");
            return (Criteria) this;
        }

        public Criteria andIsImportEqualTo(Boolean value) {
            addCriterion("is_import =", value, "isImport");
            return (Criteria) this;
        }

        public Criteria andIsImportNotEqualTo(Boolean value) {
            addCriterion("is_import <>", value, "isImport");
            return (Criteria) this;
        }

        public Criteria andIsImportGreaterThan(Boolean value) {
            addCriterion("is_import >", value, "isImport");
            return (Criteria) this;
        }

        public Criteria andIsImportGreaterThanOrEqualTo(Boolean value) {
            addCriterion("is_import >=", value, "isImport");
            return (Criteria) this;
        }

        public Criteria andIsImportLessThan(Boolean value) {
            addCriterion("is_import <", value, "isImport");
            return (Criteria) this;
        }

        public Criteria andIsImportLessThanOrEqualTo(Boolean value) {
            addCriterion("is_import <=", value, "isImport");
            return (Criteria) this;
        }

        public Criteria andIsImportIn(List<Boolean> values) {
            addCriterion("is_import in", values, "isImport");
            return (Criteria) this;
        }

        public Criteria andIsImportNotIn(List<Boolean> values) {
            addCriterion("is_import not in", values, "isImport");
            return (Criteria) this;
        }

        public Criteria andIsImportBetween(Boolean value1, Boolean value2) {
            addCriterion("is_import between", value1, value2, "isImport");
            return (Criteria) this;
        }

        public Criteria andIsImportNotBetween(Boolean value1, Boolean value2) {
            addCriterion("is_import not between", value1, value2, "isImport");
            return (Criteria) this;
        }

        public Criteria andIsDangerousIsNull() {
            addCriterion("is_dangerous is null");
            return (Criteria) this;
        }

        public Criteria andIsDangerousIsNotNull() {
            addCriterion("is_dangerous is not null");
            return (Criteria) this;
        }

        public Criteria andIsDangerousEqualTo(Boolean value) {
            addCriterion("is_dangerous =", value, "isDangerous");
            return (Criteria) this;
        }

        public Criteria andIsDangerousNotEqualTo(Boolean value) {
            addCriterion("is_dangerous <>", value, "isDangerous");
            return (Criteria) this;
        }

        public Criteria andIsDangerousGreaterThan(Boolean value) {
            addCriterion("is_dangerous >", value, "isDangerous");
            return (Criteria) this;
        }

        public Criteria andIsDangerousGreaterThanOrEqualTo(Boolean value) {
            addCriterion("is_dangerous >=", value, "isDangerous");
            return (Criteria) this;
        }

        public Criteria andIsDangerousLessThan(Boolean value) {
            addCriterion("is_dangerous <", value, "isDangerous");
            return (Criteria) this;
        }

        public Criteria andIsDangerousLessThanOrEqualTo(Boolean value) {
            addCriterion("is_dangerous <=", value, "isDangerous");
            return (Criteria) this;
        }

        public Criteria andIsDangerousIn(List<Boolean> values) {
            addCriterion("is_dangerous in", values, "isDangerous");
            return (Criteria) this;
        }

        public Criteria andIsDangerousNotIn(List<Boolean> values) {
            addCriterion("is_dangerous not in", values, "isDangerous");
            return (Criteria) this;
        }

        public Criteria andIsDangerousBetween(Boolean value1, Boolean value2) {
            addCriterion("is_dangerous between", value1, value2, "isDangerous");
            return (Criteria) this;
        }

        public Criteria andIsDangerousNotBetween(Boolean value1, Boolean value2) {
            addCriterion("is_dangerous not between", value1, value2, "isDangerous");
            return (Criteria) this;
        }

        public Criteria andIsOverseasIsNull() {
            addCriterion("is_overseas is null");
            return (Criteria) this;
        }

        public Criteria andIsOverseasIsNotNull() {
            addCriterion("is_overseas is not null");
            return (Criteria) this;
        }

        public Criteria andIsOverseasEqualTo(Boolean value) {
            addCriterion("is_overseas =", value, "isOverseas");
            return (Criteria) this;
        }

        public Criteria andIsOverseasNotEqualTo(Boolean value) {
            addCriterion("is_overseas <>", value, "isOverseas");
            return (Criteria) this;
        }

        public Criteria andIsOverseasGreaterThan(Boolean value) {
            addCriterion("is_overseas >", value, "isOverseas");
            return (Criteria) this;
        }

        public Criteria andIsOverseasGreaterThanOrEqualTo(Boolean value) {
            addCriterion("is_overseas >=", value, "isOverseas");
            return (Criteria) this;
        }

        public Criteria andIsOverseasLessThan(Boolean value) {
            addCriterion("is_overseas <", value, "isOverseas");
            return (Criteria) this;
        }

        public Criteria andIsOverseasLessThanOrEqualTo(Boolean value) {
            addCriterion("is_overseas <=", value, "isOverseas");
            return (Criteria) this;
        }

        public Criteria andIsOverseasIn(List<Boolean> values) {
            addCriterion("is_overseas in", values, "isOverseas");
            return (Criteria) this;
        }

        public Criteria andIsOverseasNotIn(List<Boolean> values) {
            addCriterion("is_overseas not in", values, "isOverseas");
            return (Criteria) this;
        }

        public Criteria andIsOverseasBetween(Boolean value1, Boolean value2) {
            addCriterion("is_overseas between", value1, value2, "isOverseas");
            return (Criteria) this;
        }

        public Criteria andIsOverseasNotBetween(Boolean value1, Boolean value2) {
            addCriterion("is_overseas not between", value1, value2, "isOverseas");
            return (Criteria) this;
        }

        public Criteria andIsLiquidIsNull() {
            addCriterion("is_liquid is null");
            return (Criteria) this;
        }

        public Criteria andIsLiquidIsNotNull() {
            addCriterion("is_liquid is not null");
            return (Criteria) this;
        }

        public Criteria andIsLiquidEqualTo(Boolean value) {
            addCriterion("is_liquid =", value, "isLiquid");
            return (Criteria) this;
        }

        public Criteria andIsLiquidNotEqualTo(Boolean value) {
            addCriterion("is_liquid <>", value, "isLiquid");
            return (Criteria) this;
        }

        public Criteria andIsLiquidGreaterThan(Boolean value) {
            addCriterion("is_liquid >", value, "isLiquid");
            return (Criteria) this;
        }

        public Criteria andIsLiquidGreaterThanOrEqualTo(Boolean value) {
            addCriterion("is_liquid >=", value, "isLiquid");
            return (Criteria) this;
        }

        public Criteria andIsLiquidLessThan(Boolean value) {
            addCriterion("is_liquid <", value, "isLiquid");
            return (Criteria) this;
        }

        public Criteria andIsLiquidLessThanOrEqualTo(Boolean value) {
            addCriterion("is_liquid <=", value, "isLiquid");
            return (Criteria) this;
        }

        public Criteria andIsLiquidIn(List<Boolean> values) {
            addCriterion("is_liquid in", values, "isLiquid");
            return (Criteria) this;
        }

        public Criteria andIsLiquidNotIn(List<Boolean> values) {
            addCriterion("is_liquid not in", values, "isLiquid");
            return (Criteria) this;
        }

        public Criteria andIsLiquidBetween(Boolean value1, Boolean value2) {
            addCriterion("is_liquid between", value1, value2, "isLiquid");
            return (Criteria) this;
        }

        public Criteria andIsLiquidNotBetween(Boolean value1, Boolean value2) {
            addCriterion("is_liquid not between", value1, value2, "isLiquid");
            return (Criteria) this;
        }

        public Criteria andIsBrittleIsNull() {
            addCriterion("is_brittle is null");
            return (Criteria) this;
        }

        public Criteria andIsBrittleIsNotNull() {
            addCriterion("is_brittle is not null");
            return (Criteria) this;
        }

        public Criteria andIsBrittleEqualTo(Boolean value) {
            addCriterion("is_brittle =", value, "isBrittle");
            return (Criteria) this;
        }

        public Criteria andIsBrittleNotEqualTo(Boolean value) {
            addCriterion("is_brittle <>", value, "isBrittle");
            return (Criteria) this;
        }

        public Criteria andIsBrittleGreaterThan(Boolean value) {
            addCriterion("is_brittle >", value, "isBrittle");
            return (Criteria) this;
        }

        public Criteria andIsBrittleGreaterThanOrEqualTo(Boolean value) {
            addCriterion("is_brittle >=", value, "isBrittle");
            return (Criteria) this;
        }

        public Criteria andIsBrittleLessThan(Boolean value) {
            addCriterion("is_brittle <", value, "isBrittle");
            return (Criteria) this;
        }

        public Criteria andIsBrittleLessThanOrEqualTo(Boolean value) {
            addCriterion("is_brittle <=", value, "isBrittle");
            return (Criteria) this;
        }

        public Criteria andIsBrittleIn(List<Boolean> values) {
            addCriterion("is_brittle in", values, "isBrittle");
            return (Criteria) this;
        }

        public Criteria andIsBrittleNotIn(List<Boolean> values) {
            addCriterion("is_brittle not in", values, "isBrittle");
            return (Criteria) this;
        }

        public Criteria andIsBrittleBetween(Boolean value1, Boolean value2) {
            addCriterion("is_brittle between", value1, value2, "isBrittle");
            return (Criteria) this;
        }

        public Criteria andIsBrittleNotBetween(Boolean value1, Boolean value2) {
            addCriterion("is_brittle not between", value1, value2, "isBrittle");
            return (Criteria) this;
        }

        public Criteria andDetailIsNull() {
            addCriterion("detail is null");
            return (Criteria) this;
        }

        public Criteria andDetailIsNotNull() {
            addCriterion("detail is not null");
            return (Criteria) this;
        }

        public Criteria andDetailEqualTo(String value) {
            addCriterion("detail =", value, "detail");
            return (Criteria) this;
        }

        public Criteria andDetailNotEqualTo(String value) {
            addCriterion("detail <>", value, "detail");
            return (Criteria) this;
        }

        public Criteria andDetailGreaterThan(String value) {
            addCriterion("detail >", value, "detail");
            return (Criteria) this;
        }

        public Criteria andDetailGreaterThanOrEqualTo(String value) {
            addCriterion("detail >=", value, "detail");
            return (Criteria) this;
        }

        public Criteria andDetailLessThan(String value) {
            addCriterion("detail <", value, "detail");
            return (Criteria) this;
        }

        public Criteria andDetailLessThanOrEqualTo(String value) {
            addCriterion("detail <=", value, "detail");
            return (Criteria) this;
        }

        public Criteria andDetailLike(String value) {
            addCriterion("detail like", value, "detail");
            return (Criteria) this;
        }

        public Criteria andDetailNotLike(String value) {
            addCriterion("detail not like", value, "detail");
            return (Criteria) this;
        }

        public Criteria andDetailIn(List<String> values) {
            addCriterion("detail in", values, "detail");
            return (Criteria) this;
        }

        public Criteria andDetailNotIn(List<String> values) {
            addCriterion("detail not in", values, "detail");
            return (Criteria) this;
        }

        public Criteria andDetailBetween(String value1, String value2) {
            addCriterion("detail between", value1, value2, "detail");
            return (Criteria) this;
        }

        public Criteria andDetailNotBetween(String value1, String value2) {
            addCriterion("detail not between", value1, value2, "detail");
            return (Criteria) this;
        }

        public Criteria andSaleUnitIsNull() {
            addCriterion("sale_unit is null");
            return (Criteria) this;
        }

        public Criteria andSaleUnitIsNotNull() {
            addCriterion("sale_unit is not null");
            return (Criteria) this;
        }

        public Criteria andSaleUnitEqualTo(String value) {
            addCriterion("sale_unit =", value, "saleUnit");
            return (Criteria) this;
        }

        public Criteria andSaleUnitNotEqualTo(String value) {
            addCriterion("sale_unit <>", value, "saleUnit");
            return (Criteria) this;
        }

        public Criteria andSaleUnitGreaterThan(String value) {
            addCriterion("sale_unit >", value, "saleUnit");
            return (Criteria) this;
        }

        public Criteria andSaleUnitGreaterThanOrEqualTo(String value) {
            addCriterion("sale_unit >=", value, "saleUnit");
            return (Criteria) this;
        }

        public Criteria andSaleUnitLessThan(String value) {
            addCriterion("sale_unit <", value, "saleUnit");
            return (Criteria) this;
        }

        public Criteria andSaleUnitLessThanOrEqualTo(String value) {
            addCriterion("sale_unit <=", value, "saleUnit");
            return (Criteria) this;
        }

        public Criteria andSaleUnitLike(String value) {
            addCriterion("sale_unit like", value, "saleUnit");
            return (Criteria) this;
        }

        public Criteria andSaleUnitNotLike(String value) {
            addCriterion("sale_unit not like", value, "saleUnit");
            return (Criteria) this;
        }

        public Criteria andSaleUnitIn(List<String> values) {
            addCriterion("sale_unit in", values, "saleUnit");
            return (Criteria) this;
        }

        public Criteria andSaleUnitNotIn(List<String> values) {
            addCriterion("sale_unit not in", values, "saleUnit");
            return (Criteria) this;
        }

        public Criteria andSaleUnitBetween(String value1, String value2) {
            addCriterion("sale_unit between", value1, value2, "saleUnit");
            return (Criteria) this;
        }

        public Criteria andSaleUnitNotBetween(String value1, String value2) {
            addCriterion("sale_unit not between", value1, value2, "saleUnit");
            return (Criteria) this;
        }

        public Criteria andStockUnitIsNull() {
            addCriterion("stock_unit is null");
            return (Criteria) this;
        }

        public Criteria andStockUnitIsNotNull() {
            addCriterion("stock_unit is not null");
            return (Criteria) this;
        }

        public Criteria andStockUnitEqualTo(String value) {
            addCriterion("stock_unit =", value, "stockUnit");
            return (Criteria) this;
        }

        public Criteria andStockUnitNotEqualTo(String value) {
            addCriterion("stock_unit <>", value, "stockUnit");
            return (Criteria) this;
        }

        public Criteria andStockUnitGreaterThan(String value) {
            addCriterion("stock_unit >", value, "stockUnit");
            return (Criteria) this;
        }

        public Criteria andStockUnitGreaterThanOrEqualTo(String value) {
            addCriterion("stock_unit >=", value, "stockUnit");
            return (Criteria) this;
        }

        public Criteria andStockUnitLessThan(String value) {
            addCriterion("stock_unit <", value, "stockUnit");
            return (Criteria) this;
        }

        public Criteria andStockUnitLessThanOrEqualTo(String value) {
            addCriterion("stock_unit <=", value, "stockUnit");
            return (Criteria) this;
        }

        public Criteria andStockUnitLike(String value) {
            addCriterion("stock_unit like", value, "stockUnit");
            return (Criteria) this;
        }

        public Criteria andStockUnitNotLike(String value) {
            addCriterion("stock_unit not like", value, "stockUnit");
            return (Criteria) this;
        }

        public Criteria andStockUnitIn(List<String> values) {
            addCriterion("stock_unit in", values, "stockUnit");
            return (Criteria) this;
        }

        public Criteria andStockUnitNotIn(List<String> values) {
            addCriterion("stock_unit not in", values, "stockUnit");
            return (Criteria) this;
        }

        public Criteria andStockUnitBetween(String value1, String value2) {
            addCriterion("stock_unit between", value1, value2, "stockUnit");
            return (Criteria) this;
        }

        public Criteria andStockUnitNotBetween(String value1, String value2) {
            addCriterion("stock_unit not between", value1, value2, "stockUnit");
            return (Criteria) this;
        }

        public Criteria andIsPurchaseByBoxIsNull() {
            addCriterion("is_purchase_by_box is null");
            return (Criteria) this;
        }

        public Criteria andIsPurchaseByBoxIsNotNull() {
            addCriterion("is_purchase_by_box is not null");
            return (Criteria) this;
        }

        public Criteria andIsPurchaseByBoxEqualTo(Boolean value) {
            addCriterion("is_purchase_by_box =", value, "isPurchaseByBox");
            return (Criteria) this;
        }

        public Criteria andIsPurchaseByBoxNotEqualTo(Boolean value) {
            addCriterion("is_purchase_by_box <>", value, "isPurchaseByBox");
            return (Criteria) this;
        }

        public Criteria andIsPurchaseByBoxGreaterThan(Boolean value) {
            addCriterion("is_purchase_by_box >", value, "isPurchaseByBox");
            return (Criteria) this;
        }

        public Criteria andIsPurchaseByBoxGreaterThanOrEqualTo(Boolean value) {
            addCriterion("is_purchase_by_box >=", value, "isPurchaseByBox");
            return (Criteria) this;
        }

        public Criteria andIsPurchaseByBoxLessThan(Boolean value) {
            addCriterion("is_purchase_by_box <", value, "isPurchaseByBox");
            return (Criteria) this;
        }

        public Criteria andIsPurchaseByBoxLessThanOrEqualTo(Boolean value) {
            addCriterion("is_purchase_by_box <=", value, "isPurchaseByBox");
            return (Criteria) this;
        }

        public Criteria andIsPurchaseByBoxIn(List<Boolean> values) {
            addCriterion("is_purchase_by_box in", values, "isPurchaseByBox");
            return (Criteria) this;
        }

        public Criteria andIsPurchaseByBoxNotIn(List<Boolean> values) {
            addCriterion("is_purchase_by_box not in", values, "isPurchaseByBox");
            return (Criteria) this;
        }

        public Criteria andIsPurchaseByBoxBetween(Boolean value1, Boolean value2) {
            addCriterion("is_purchase_by_box between", value1, value2, "isPurchaseByBox");
            return (Criteria) this;
        }

        public Criteria andIsPurchaseByBoxNotBetween(Boolean value1, Boolean value2) {
            addCriterion("is_purchase_by_box not between", value1, value2, "isPurchaseByBox");
            return (Criteria) this;
        }

        public Criteria andQuantityInBoxIsNull() {
            addCriterion("quantity_in_box is null");
            return (Criteria) this;
        }

        public Criteria andQuantityInBoxIsNotNull() {
            addCriterion("quantity_in_box is not null");
            return (Criteria) this;
        }

        public Criteria andQuantityInBoxEqualTo(Integer value) {
            addCriterion("quantity_in_box =", value, "quantityInBox");
            return (Criteria) this;
        }

        public Criteria andQuantityInBoxNotEqualTo(Integer value) {
            addCriterion("quantity_in_box <>", value, "quantityInBox");
            return (Criteria) this;
        }

        public Criteria andQuantityInBoxGreaterThan(Integer value) {
            addCriterion("quantity_in_box >", value, "quantityInBox");
            return (Criteria) this;
        }

        public Criteria andQuantityInBoxGreaterThanOrEqualTo(Integer value) {
            addCriterion("quantity_in_box >=", value, "quantityInBox");
            return (Criteria) this;
        }

        public Criteria andQuantityInBoxLessThan(Integer value) {
            addCriterion("quantity_in_box <", value, "quantityInBox");
            return (Criteria) this;
        }

        public Criteria andQuantityInBoxLessThanOrEqualTo(Integer value) {
            addCriterion("quantity_in_box <=", value, "quantityInBox");
            return (Criteria) this;
        }

        public Criteria andQuantityInBoxIn(List<Integer> values) {
            addCriterion("quantity_in_box in", values, "quantityInBox");
            return (Criteria) this;
        }

        public Criteria andQuantityInBoxNotIn(List<Integer> values) {
            addCriterion("quantity_in_box not in", values, "quantityInBox");
            return (Criteria) this;
        }

        public Criteria andQuantityInBoxBetween(Integer value1, Integer value2) {
            addCriterion("quantity_in_box between", value1, value2, "quantityInBox");
            return (Criteria) this;
        }

        public Criteria andQuantityInBoxNotBetween(Integer value1, Integer value2) {
            addCriterion("quantity_in_box not between", value1, value2, "quantityInBox");
            return (Criteria) this;
        }

        public Criteria andQuantityInSingleIsNull() {
            addCriterion("quantity_in_single is null");
            return (Criteria) this;
        }

        public Criteria andQuantityInSingleIsNotNull() {
            addCriterion("quantity_in_single is not null");
            return (Criteria) this;
        }

        public Criteria andQuantityInSingleEqualTo(Integer value) {
            addCriterion("quantity_in_single =", value, "quantityInSingle");
            return (Criteria) this;
        }

        public Criteria andQuantityInSingleNotEqualTo(Integer value) {
            addCriterion("quantity_in_single <>", value, "quantityInSingle");
            return (Criteria) this;
        }

        public Criteria andQuantityInSingleGreaterThan(Integer value) {
            addCriterion("quantity_in_single >", value, "quantityInSingle");
            return (Criteria) this;
        }

        public Criteria andQuantityInSingleGreaterThanOrEqualTo(Integer value) {
            addCriterion("quantity_in_single >=", value, "quantityInSingle");
            return (Criteria) this;
        }

        public Criteria andQuantityInSingleLessThan(Integer value) {
            addCriterion("quantity_in_single <", value, "quantityInSingle");
            return (Criteria) this;
        }

        public Criteria andQuantityInSingleLessThanOrEqualTo(Integer value) {
            addCriterion("quantity_in_single <=", value, "quantityInSingle");
            return (Criteria) this;
        }

        public Criteria andQuantityInSingleIn(List<Integer> values) {
            addCriterion("quantity_in_single in", values, "quantityInSingle");
            return (Criteria) this;
        }

        public Criteria andQuantityInSingleNotIn(List<Integer> values) {
            addCriterion("quantity_in_single not in", values, "quantityInSingle");
            return (Criteria) this;
        }

        public Criteria andQuantityInSingleBetween(Integer value1, Integer value2) {
            addCriterion("quantity_in_single between", value1, value2, "quantityInSingle");
            return (Criteria) this;
        }

        public Criteria andQuantityInSingleNotBetween(Integer value1, Integer value2) {
            addCriterion("quantity_in_single not between", value1, value2, "quantityInSingle");
            return (Criteria) this;
        }

        public Criteria andSingleGrossWeightIsNull() {
            addCriterion("single_gross_weight is null");
            return (Criteria) this;
        }

        public Criteria andSingleGrossWeightIsNotNull() {
            addCriterion("single_gross_weight is not null");
            return (Criteria) this;
        }

        public Criteria andSingleGrossWeightEqualTo(Integer value) {
            addCriterion("single_gross_weight =", value, "singleGrossWeight");
            return (Criteria) this;
        }

        public Criteria andSingleGrossWeightNotEqualTo(Integer value) {
            addCriterion("single_gross_weight <>", value, "singleGrossWeight");
            return (Criteria) this;
        }

        public Criteria andSingleGrossWeightGreaterThan(Integer value) {
            addCriterion("single_gross_weight >", value, "singleGrossWeight");
            return (Criteria) this;
        }

        public Criteria andSingleGrossWeightGreaterThanOrEqualTo(Integer value) {
            addCriterion("single_gross_weight >=", value, "singleGrossWeight");
            return (Criteria) this;
        }

        public Criteria andSingleGrossWeightLessThan(Integer value) {
            addCriterion("single_gross_weight <", value, "singleGrossWeight");
            return (Criteria) this;
        }

        public Criteria andSingleGrossWeightLessThanOrEqualTo(Integer value) {
            addCriterion("single_gross_weight <=", value, "singleGrossWeight");
            return (Criteria) this;
        }

        public Criteria andSingleGrossWeightIn(List<Integer> values) {
            addCriterion("single_gross_weight in", values, "singleGrossWeight");
            return (Criteria) this;
        }

        public Criteria andSingleGrossWeightNotIn(List<Integer> values) {
            addCriterion("single_gross_weight not in", values, "singleGrossWeight");
            return (Criteria) this;
        }

        public Criteria andSingleGrossWeightBetween(Integer value1, Integer value2) {
            addCriterion("single_gross_weight between", value1, value2, "singleGrossWeight");
            return (Criteria) this;
        }

        public Criteria andSingleGrossWeightNotBetween(Integer value1, Integer value2) {
            addCriterion("single_gross_weight not between", value1, value2, "singleGrossWeight");
            return (Criteria) this;
        }

        public Criteria andSingleNetWeightIsNull() {
            addCriterion("single_net_weight is null");
            return (Criteria) this;
        }

        public Criteria andSingleNetWeightIsNotNull() {
            addCriterion("single_net_weight is not null");
            return (Criteria) this;
        }

        public Criteria andSingleNetWeightEqualTo(Integer value) {
            addCriterion("single_net_weight =", value, "singleNetWeight");
            return (Criteria) this;
        }

        public Criteria andSingleNetWeightNotEqualTo(Integer value) {
            addCriterion("single_net_weight <>", value, "singleNetWeight");
            return (Criteria) this;
        }

        public Criteria andSingleNetWeightGreaterThan(Integer value) {
            addCriterion("single_net_weight >", value, "singleNetWeight");
            return (Criteria) this;
        }

        public Criteria andSingleNetWeightGreaterThanOrEqualTo(Integer value) {
            addCriterion("single_net_weight >=", value, "singleNetWeight");
            return (Criteria) this;
        }

        public Criteria andSingleNetWeightLessThan(Integer value) {
            addCriterion("single_net_weight <", value, "singleNetWeight");
            return (Criteria) this;
        }

        public Criteria andSingleNetWeightLessThanOrEqualTo(Integer value) {
            addCriterion("single_net_weight <=", value, "singleNetWeight");
            return (Criteria) this;
        }

        public Criteria andSingleNetWeightIn(List<Integer> values) {
            addCriterion("single_net_weight in", values, "singleNetWeight");
            return (Criteria) this;
        }

        public Criteria andSingleNetWeightNotIn(List<Integer> values) {
            addCriterion("single_net_weight not in", values, "singleNetWeight");
            return (Criteria) this;
        }

        public Criteria andSingleNetWeightBetween(Integer value1, Integer value2) {
            addCriterion("single_net_weight between", value1, value2, "singleNetWeight");
            return (Criteria) this;
        }

        public Criteria andSingleNetWeightNotBetween(Integer value1, Integer value2) {
            addCriterion("single_net_weight not between", value1, value2, "singleNetWeight");
            return (Criteria) this;
        }

        public Criteria andSingleLengthIsNull() {
            addCriterion("single_length is null");
            return (Criteria) this;
        }

        public Criteria andSingleLengthIsNotNull() {
            addCriterion("single_length is not null");
            return (Criteria) this;
        }

        public Criteria andSingleLengthEqualTo(Integer value) {
            addCriterion("single_length =", value, "singleLength");
            return (Criteria) this;
        }

        public Criteria andSingleLengthNotEqualTo(Integer value) {
            addCriterion("single_length <>", value, "singleLength");
            return (Criteria) this;
        }

        public Criteria andSingleLengthGreaterThan(Integer value) {
            addCriterion("single_length >", value, "singleLength");
            return (Criteria) this;
        }

        public Criteria andSingleLengthGreaterThanOrEqualTo(Integer value) {
            addCriterion("single_length >=", value, "singleLength");
            return (Criteria) this;
        }

        public Criteria andSingleLengthLessThan(Integer value) {
            addCriterion("single_length <", value, "singleLength");
            return (Criteria) this;
        }

        public Criteria andSingleLengthLessThanOrEqualTo(Integer value) {
            addCriterion("single_length <=", value, "singleLength");
            return (Criteria) this;
        }

        public Criteria andSingleLengthIn(List<Integer> values) {
            addCriterion("single_length in", values, "singleLength");
            return (Criteria) this;
        }

        public Criteria andSingleLengthNotIn(List<Integer> values) {
            addCriterion("single_length not in", values, "singleLength");
            return (Criteria) this;
        }

        public Criteria andSingleLengthBetween(Integer value1, Integer value2) {
            addCriterion("single_length between", value1, value2, "singleLength");
            return (Criteria) this;
        }

        public Criteria andSingleLengthNotBetween(Integer value1, Integer value2) {
            addCriterion("single_length not between", value1, value2, "singleLength");
            return (Criteria) this;
        }

        public Criteria andSingleWidthIsNull() {
            addCriterion("single_width is null");
            return (Criteria) this;
        }

        public Criteria andSingleWidthIsNotNull() {
            addCriterion("single_width is not null");
            return (Criteria) this;
        }

        public Criteria andSingleWidthEqualTo(Integer value) {
            addCriterion("single_width =", value, "singleWidth");
            return (Criteria) this;
        }

        public Criteria andSingleWidthNotEqualTo(Integer value) {
            addCriterion("single_width <>", value, "singleWidth");
            return (Criteria) this;
        }

        public Criteria andSingleWidthGreaterThan(Integer value) {
            addCriterion("single_width >", value, "singleWidth");
            return (Criteria) this;
        }

        public Criteria andSingleWidthGreaterThanOrEqualTo(Integer value) {
            addCriterion("single_width >=", value, "singleWidth");
            return (Criteria) this;
        }

        public Criteria andSingleWidthLessThan(Integer value) {
            addCriterion("single_width <", value, "singleWidth");
            return (Criteria) this;
        }

        public Criteria andSingleWidthLessThanOrEqualTo(Integer value) {
            addCriterion("single_width <=", value, "singleWidth");
            return (Criteria) this;
        }

        public Criteria andSingleWidthIn(List<Integer> values) {
            addCriterion("single_width in", values, "singleWidth");
            return (Criteria) this;
        }

        public Criteria andSingleWidthNotIn(List<Integer> values) {
            addCriterion("single_width not in", values, "singleWidth");
            return (Criteria) this;
        }

        public Criteria andSingleWidthBetween(Integer value1, Integer value2) {
            addCriterion("single_width between", value1, value2, "singleWidth");
            return (Criteria) this;
        }

        public Criteria andSingleWidthNotBetween(Integer value1, Integer value2) {
            addCriterion("single_width not between", value1, value2, "singleWidth");
            return (Criteria) this;
        }

        public Criteria andSingleHeightIsNull() {
            addCriterion("single_height is null");
            return (Criteria) this;
        }

        public Criteria andSingleHeightIsNotNull() {
            addCriterion("single_height is not null");
            return (Criteria) this;
        }

        public Criteria andSingleHeightEqualTo(Integer value) {
            addCriterion("single_height =", value, "singleHeight");
            return (Criteria) this;
        }

        public Criteria andSingleHeightNotEqualTo(Integer value) {
            addCriterion("single_height <>", value, "singleHeight");
            return (Criteria) this;
        }

        public Criteria andSingleHeightGreaterThan(Integer value) {
            addCriterion("single_height >", value, "singleHeight");
            return (Criteria) this;
        }

        public Criteria andSingleHeightGreaterThanOrEqualTo(Integer value) {
            addCriterion("single_height >=", value, "singleHeight");
            return (Criteria) this;
        }

        public Criteria andSingleHeightLessThan(Integer value) {
            addCriterion("single_height <", value, "singleHeight");
            return (Criteria) this;
        }

        public Criteria andSingleHeightLessThanOrEqualTo(Integer value) {
            addCriterion("single_height <=", value, "singleHeight");
            return (Criteria) this;
        }

        public Criteria andSingleHeightIn(List<Integer> values) {
            addCriterion("single_height in", values, "singleHeight");
            return (Criteria) this;
        }

        public Criteria andSingleHeightNotIn(List<Integer> values) {
            addCriterion("single_height not in", values, "singleHeight");
            return (Criteria) this;
        }

        public Criteria andSingleHeightBetween(Integer value1, Integer value2) {
            addCriterion("single_height between", value1, value2, "singleHeight");
            return (Criteria) this;
        }

        public Criteria andSingleHeightNotBetween(Integer value1, Integer value2) {
            addCriterion("single_height not between", value1, value2, "singleHeight");
            return (Criteria) this;
        }

        public Criteria andOriginalBoxGrossWeightIsNull() {
            addCriterion("original_box_gross_weight is null");
            return (Criteria) this;
        }

        public Criteria andOriginalBoxGrossWeightIsNotNull() {
            addCriterion("original_box_gross_weight is not null");
            return (Criteria) this;
        }

        public Criteria andOriginalBoxGrossWeightEqualTo(Integer value) {
            addCriterion("original_box_gross_weight =", value, "originalBoxGrossWeight");
            return (Criteria) this;
        }

        public Criteria andOriginalBoxGrossWeightNotEqualTo(Integer value) {
            addCriterion("original_box_gross_weight <>", value, "originalBoxGrossWeight");
            return (Criteria) this;
        }

        public Criteria andOriginalBoxGrossWeightGreaterThan(Integer value) {
            addCriterion("original_box_gross_weight >", value, "originalBoxGrossWeight");
            return (Criteria) this;
        }

        public Criteria andOriginalBoxGrossWeightGreaterThanOrEqualTo(Integer value) {
            addCriterion("original_box_gross_weight >=", value, "originalBoxGrossWeight");
            return (Criteria) this;
        }

        public Criteria andOriginalBoxGrossWeightLessThan(Integer value) {
            addCriterion("original_box_gross_weight <", value, "originalBoxGrossWeight");
            return (Criteria) this;
        }

        public Criteria andOriginalBoxGrossWeightLessThanOrEqualTo(Integer value) {
            addCriterion("original_box_gross_weight <=", value, "originalBoxGrossWeight");
            return (Criteria) this;
        }

        public Criteria andOriginalBoxGrossWeightIn(List<Integer> values) {
            addCriterion("original_box_gross_weight in", values, "originalBoxGrossWeight");
            return (Criteria) this;
        }

        public Criteria andOriginalBoxGrossWeightNotIn(List<Integer> values) {
            addCriterion("original_box_gross_weight not in", values, "originalBoxGrossWeight");
            return (Criteria) this;
        }

        public Criteria andOriginalBoxGrossWeightBetween(Integer value1, Integer value2) {
            addCriterion("original_box_gross_weight between", value1, value2, "originalBoxGrossWeight");
            return (Criteria) this;
        }

        public Criteria andOriginalBoxGrossWeightNotBetween(Integer value1, Integer value2) {
            addCriterion("original_box_gross_weight not between", value1, value2, "originalBoxGrossWeight");
            return (Criteria) this;
        }

        public Criteria andOriginalBoxLengthIsNull() {
            addCriterion("original_box_length is null");
            return (Criteria) this;
        }

        public Criteria andOriginalBoxLengthIsNotNull() {
            addCriterion("original_box_length is not null");
            return (Criteria) this;
        }

        public Criteria andOriginalBoxLengthEqualTo(Integer value) {
            addCriterion("original_box_length =", value, "originalBoxLength");
            return (Criteria) this;
        }

        public Criteria andOriginalBoxLengthNotEqualTo(Integer value) {
            addCriterion("original_box_length <>", value, "originalBoxLength");
            return (Criteria) this;
        }

        public Criteria andOriginalBoxLengthGreaterThan(Integer value) {
            addCriterion("original_box_length >", value, "originalBoxLength");
            return (Criteria) this;
        }

        public Criteria andOriginalBoxLengthGreaterThanOrEqualTo(Integer value) {
            addCriterion("original_box_length >=", value, "originalBoxLength");
            return (Criteria) this;
        }

        public Criteria andOriginalBoxLengthLessThan(Integer value) {
            addCriterion("original_box_length <", value, "originalBoxLength");
            return (Criteria) this;
        }

        public Criteria andOriginalBoxLengthLessThanOrEqualTo(Integer value) {
            addCriterion("original_box_length <=", value, "originalBoxLength");
            return (Criteria) this;
        }

        public Criteria andOriginalBoxLengthIn(List<Integer> values) {
            addCriterion("original_box_length in", values, "originalBoxLength");
            return (Criteria) this;
        }

        public Criteria andOriginalBoxLengthNotIn(List<Integer> values) {
            addCriterion("original_box_length not in", values, "originalBoxLength");
            return (Criteria) this;
        }

        public Criteria andOriginalBoxLengthBetween(Integer value1, Integer value2) {
            addCriterion("original_box_length between", value1, value2, "originalBoxLength");
            return (Criteria) this;
        }

        public Criteria andOriginalBoxLengthNotBetween(Integer value1, Integer value2) {
            addCriterion("original_box_length not between", value1, value2, "originalBoxLength");
            return (Criteria) this;
        }

        public Criteria andOriginalBoxWidthIsNull() {
            addCriterion("original_box_width is null");
            return (Criteria) this;
        }

        public Criteria andOriginalBoxWidthIsNotNull() {
            addCriterion("original_box_width is not null");
            return (Criteria) this;
        }

        public Criteria andOriginalBoxWidthEqualTo(Integer value) {
            addCriterion("original_box_width =", value, "originalBoxWidth");
            return (Criteria) this;
        }

        public Criteria andOriginalBoxWidthNotEqualTo(Integer value) {
            addCriterion("original_box_width <>", value, "originalBoxWidth");
            return (Criteria) this;
        }

        public Criteria andOriginalBoxWidthGreaterThan(Integer value) {
            addCriterion("original_box_width >", value, "originalBoxWidth");
            return (Criteria) this;
        }

        public Criteria andOriginalBoxWidthGreaterThanOrEqualTo(Integer value) {
            addCriterion("original_box_width >=", value, "originalBoxWidth");
            return (Criteria) this;
        }

        public Criteria andOriginalBoxWidthLessThan(Integer value) {
            addCriterion("original_box_width <", value, "originalBoxWidth");
            return (Criteria) this;
        }

        public Criteria andOriginalBoxWidthLessThanOrEqualTo(Integer value) {
            addCriterion("original_box_width <=", value, "originalBoxWidth");
            return (Criteria) this;
        }

        public Criteria andOriginalBoxWidthIn(List<Integer> values) {
            addCriterion("original_box_width in", values, "originalBoxWidth");
            return (Criteria) this;
        }

        public Criteria andOriginalBoxWidthNotIn(List<Integer> values) {
            addCriterion("original_box_width not in", values, "originalBoxWidth");
            return (Criteria) this;
        }

        public Criteria andOriginalBoxWidthBetween(Integer value1, Integer value2) {
            addCriterion("original_box_width between", value1, value2, "originalBoxWidth");
            return (Criteria) this;
        }

        public Criteria andOriginalBoxWidthNotBetween(Integer value1, Integer value2) {
            addCriterion("original_box_width not between", value1, value2, "originalBoxWidth");
            return (Criteria) this;
        }

        public Criteria andOriginalBoxHeightIsNull() {
            addCriterion("original_box_height is null");
            return (Criteria) this;
        }

        public Criteria andOriginalBoxHeightIsNotNull() {
            addCriterion("original_box_height is not null");
            return (Criteria) this;
        }

        public Criteria andOriginalBoxHeightEqualTo(Integer value) {
            addCriterion("original_box_height =", value, "originalBoxHeight");
            return (Criteria) this;
        }

        public Criteria andOriginalBoxHeightNotEqualTo(Integer value) {
            addCriterion("original_box_height <>", value, "originalBoxHeight");
            return (Criteria) this;
        }

        public Criteria andOriginalBoxHeightGreaterThan(Integer value) {
            addCriterion("original_box_height >", value, "originalBoxHeight");
            return (Criteria) this;
        }

        public Criteria andOriginalBoxHeightGreaterThanOrEqualTo(Integer value) {
            addCriterion("original_box_height >=", value, "originalBoxHeight");
            return (Criteria) this;
        }

        public Criteria andOriginalBoxHeightLessThan(Integer value) {
            addCriterion("original_box_height <", value, "originalBoxHeight");
            return (Criteria) this;
        }

        public Criteria andOriginalBoxHeightLessThanOrEqualTo(Integer value) {
            addCriterion("original_box_height <=", value, "originalBoxHeight");
            return (Criteria) this;
        }

        public Criteria andOriginalBoxHeightIn(List<Integer> values) {
            addCriterion("original_box_height in", values, "originalBoxHeight");
            return (Criteria) this;
        }

        public Criteria andOriginalBoxHeightNotIn(List<Integer> values) {
            addCriterion("original_box_height not in", values, "originalBoxHeight");
            return (Criteria) this;
        }

        public Criteria andOriginalBoxHeightBetween(Integer value1, Integer value2) {
            addCriterion("original_box_height between", value1, value2, "originalBoxHeight");
            return (Criteria) this;
        }

        public Criteria andOriginalBoxHeightNotBetween(Integer value1, Integer value2) {
            addCriterion("original_box_height not between", value1, value2, "originalBoxHeight");
            return (Criteria) this;
        }

        public Criteria andPackageQuantityIsNull() {
            addCriterion("package_quantity is null");
            return (Criteria) this;
        }

        public Criteria andPackageQuantityIsNotNull() {
            addCriterion("package_quantity is not null");
            return (Criteria) this;
        }

        public Criteria andPackageQuantityEqualTo(Integer value) {
            addCriterion("package_quantity =", value, "packageQuantity");
            return (Criteria) this;
        }

        public Criteria andPackageQuantityNotEqualTo(Integer value) {
            addCriterion("package_quantity <>", value, "packageQuantity");
            return (Criteria) this;
        }

        public Criteria andPackageQuantityGreaterThan(Integer value) {
            addCriterion("package_quantity >", value, "packageQuantity");
            return (Criteria) this;
        }

        public Criteria andPackageQuantityGreaterThanOrEqualTo(Integer value) {
            addCriterion("package_quantity >=", value, "packageQuantity");
            return (Criteria) this;
        }

        public Criteria andPackageQuantityLessThan(Integer value) {
            addCriterion("package_quantity <", value, "packageQuantity");
            return (Criteria) this;
        }

        public Criteria andPackageQuantityLessThanOrEqualTo(Integer value) {
            addCriterion("package_quantity <=", value, "packageQuantity");
            return (Criteria) this;
        }

        public Criteria andPackageQuantityIn(List<Integer> values) {
            addCriterion("package_quantity in", values, "packageQuantity");
            return (Criteria) this;
        }

        public Criteria andPackageQuantityNotIn(List<Integer> values) {
            addCriterion("package_quantity not in", values, "packageQuantity");
            return (Criteria) this;
        }

        public Criteria andPackageQuantityBetween(Integer value1, Integer value2) {
            addCriterion("package_quantity between", value1, value2, "packageQuantity");
            return (Criteria) this;
        }

        public Criteria andPackageQuantityNotBetween(Integer value1, Integer value2) {
            addCriterion("package_quantity not between", value1, value2, "packageQuantity");
            return (Criteria) this;
        }

        public Criteria andPackageMaterialIsNull() {
            addCriterion("package_material is null");
            return (Criteria) this;
        }

        public Criteria andPackageMaterialIsNotNull() {
            addCriterion("package_material is not null");
            return (Criteria) this;
        }

        public Criteria andPackageMaterialEqualTo(String value) {
            addCriterion("package_material =", value, "packageMaterial");
            return (Criteria) this;
        }

        public Criteria andPackageMaterialNotEqualTo(String value) {
            addCriterion("package_material <>", value, "packageMaterial");
            return (Criteria) this;
        }

        public Criteria andPackageMaterialGreaterThan(String value) {
            addCriterion("package_material >", value, "packageMaterial");
            return (Criteria) this;
        }

        public Criteria andPackageMaterialGreaterThanOrEqualTo(String value) {
            addCriterion("package_material >=", value, "packageMaterial");
            return (Criteria) this;
        }

        public Criteria andPackageMaterialLessThan(String value) {
            addCriterion("package_material <", value, "packageMaterial");
            return (Criteria) this;
        }

        public Criteria andPackageMaterialLessThanOrEqualTo(String value) {
            addCriterion("package_material <=", value, "packageMaterial");
            return (Criteria) this;
        }

        public Criteria andPackageMaterialLike(String value) {
            addCriterion("package_material like", value, "packageMaterial");
            return (Criteria) this;
        }

        public Criteria andPackageMaterialNotLike(String value) {
            addCriterion("package_material not like", value, "packageMaterial");
            return (Criteria) this;
        }

        public Criteria andPackageMaterialIn(List<String> values) {
            addCriterion("package_material in", values, "packageMaterial");
            return (Criteria) this;
        }

        public Criteria andPackageMaterialNotIn(List<String> values) {
            addCriterion("package_material not in", values, "packageMaterial");
            return (Criteria) this;
        }

        public Criteria andPackageMaterialBetween(String value1, String value2) {
            addCriterion("package_material between", value1, value2, "packageMaterial");
            return (Criteria) this;
        }

        public Criteria andPackageMaterialNotBetween(String value1, String value2) {
            addCriterion("package_material not between", value1, value2, "packageMaterial");
            return (Criteria) this;
        }

        public Criteria andPackageListIsNull() {
            addCriterion("package_list is null");
            return (Criteria) this;
        }

        public Criteria andPackageListIsNotNull() {
            addCriterion("package_list is not null");
            return (Criteria) this;
        }

        public Criteria andPackageListEqualTo(String value) {
            addCriterion("package_list =", value, "packageList");
            return (Criteria) this;
        }

        public Criteria andPackageListNotEqualTo(String value) {
            addCriterion("package_list <>", value, "packageList");
            return (Criteria) this;
        }

        public Criteria andPackageListGreaterThan(String value) {
            addCriterion("package_list >", value, "packageList");
            return (Criteria) this;
        }

        public Criteria andPackageListGreaterThanOrEqualTo(String value) {
            addCriterion("package_list >=", value, "packageList");
            return (Criteria) this;
        }

        public Criteria andPackageListLessThan(String value) {
            addCriterion("package_list <", value, "packageList");
            return (Criteria) this;
        }

        public Criteria andPackageListLessThanOrEqualTo(String value) {
            addCriterion("package_list <=", value, "packageList");
            return (Criteria) this;
        }

        public Criteria andPackageListLike(String value) {
            addCriterion("package_list like", value, "packageList");
            return (Criteria) this;
        }

        public Criteria andPackageListNotLike(String value) {
            addCriterion("package_list not like", value, "packageList");
            return (Criteria) this;
        }

        public Criteria andPackageListIn(List<String> values) {
            addCriterion("package_list in", values, "packageList");
            return (Criteria) this;
        }

        public Criteria andPackageListNotIn(List<String> values) {
            addCriterion("package_list not in", values, "packageList");
            return (Criteria) this;
        }

        public Criteria andPackageListBetween(String value1, String value2) {
            addCriterion("package_list between", value1, value2, "packageList");
            return (Criteria) this;
        }

        public Criteria andPackageListNotBetween(String value1, String value2) {
            addCriterion("package_list not between", value1, value2, "packageList");
            return (Criteria) this;
        }

        public Criteria andStoreConditionIsNull() {
            addCriterion("store_condition is null");
            return (Criteria) this;
        }

        public Criteria andStoreConditionIsNotNull() {
            addCriterion("store_condition is not null");
            return (Criteria) this;
        }

        public Criteria andStoreConditionEqualTo(Integer value) {
            addCriterion("store_condition =", value, "storeCondition");
            return (Criteria) this;
        }

        public Criteria andStoreConditionNotEqualTo(Integer value) {
            addCriterion("store_condition <>", value, "storeCondition");
            return (Criteria) this;
        }

        public Criteria andStoreConditionGreaterThan(Integer value) {
            addCriterion("store_condition >", value, "storeCondition");
            return (Criteria) this;
        }

        public Criteria andStoreConditionGreaterThanOrEqualTo(Integer value) {
            addCriterion("store_condition >=", value, "storeCondition");
            return (Criteria) this;
        }

        public Criteria andStoreConditionLessThan(Integer value) {
            addCriterion("store_condition <", value, "storeCondition");
            return (Criteria) this;
        }

        public Criteria andStoreConditionLessThanOrEqualTo(Integer value) {
            addCriterion("store_condition <=", value, "storeCondition");
            return (Criteria) this;
        }

        public Criteria andStoreConditionIn(List<Integer> values) {
            addCriterion("store_condition in", values, "storeCondition");
            return (Criteria) this;
        }

        public Criteria andStoreConditionNotIn(List<Integer> values) {
            addCriterion("store_condition not in", values, "storeCondition");
            return (Criteria) this;
        }

        public Criteria andStoreConditionBetween(Integer value1, Integer value2) {
            addCriterion("store_condition between", value1, value2, "storeCondition");
            return (Criteria) this;
        }

        public Criteria andStoreConditionNotBetween(Integer value1, Integer value2) {
            addCriterion("store_condition not between", value1, value2, "storeCondition");
            return (Criteria) this;
        }

        public Criteria andIsUnderBatchControlIsNull() {
            addCriterion("is_under_batch_control is null");
            return (Criteria) this;
        }

        public Criteria andIsUnderBatchControlIsNotNull() {
            addCriterion("is_under_batch_control is not null");
            return (Criteria) this;
        }

        public Criteria andIsUnderBatchControlEqualTo(Boolean value) {
            addCriterion("is_under_batch_control =", value, "isUnderBatchControl");
            return (Criteria) this;
        }

        public Criteria andIsUnderBatchControlNotEqualTo(Boolean value) {
            addCriterion("is_under_batch_control <>", value, "isUnderBatchControl");
            return (Criteria) this;
        }

        public Criteria andIsUnderBatchControlGreaterThan(Boolean value) {
            addCriterion("is_under_batch_control >", value, "isUnderBatchControl");
            return (Criteria) this;
        }

        public Criteria andIsUnderBatchControlGreaterThanOrEqualTo(Boolean value) {
            addCriterion("is_under_batch_control >=", value, "isUnderBatchControl");
            return (Criteria) this;
        }

        public Criteria andIsUnderBatchControlLessThan(Boolean value) {
            addCriterion("is_under_batch_control <", value, "isUnderBatchControl");
            return (Criteria) this;
        }

        public Criteria andIsUnderBatchControlLessThanOrEqualTo(Boolean value) {
            addCriterion("is_under_batch_control <=", value, "isUnderBatchControl");
            return (Criteria) this;
        }

        public Criteria andIsUnderBatchControlIn(List<Boolean> values) {
            addCriterion("is_under_batch_control in", values, "isUnderBatchControl");
            return (Criteria) this;
        }

        public Criteria andIsUnderBatchControlNotIn(List<Boolean> values) {
            addCriterion("is_under_batch_control not in", values, "isUnderBatchControl");
            return (Criteria) this;
        }

        public Criteria andIsUnderBatchControlBetween(Boolean value1, Boolean value2) {
            addCriterion("is_under_batch_control between", value1, value2, "isUnderBatchControl");
            return (Criteria) this;
        }

        public Criteria andIsUnderBatchControlNotBetween(Boolean value1, Boolean value2) {
            addCriterion("is_under_batch_control not between", value1, value2, "isUnderBatchControl");
            return (Criteria) this;
        }

        public Criteria andBatchRulesIsNull() {
            addCriterion("batch_rules is null");
            return (Criteria) this;
        }

        public Criteria andBatchRulesIsNotNull() {
            addCriterion("batch_rules is not null");
            return (Criteria) this;
        }

        public Criteria andBatchRulesEqualTo(Integer value) {
            addCriterion("batch_rules =", value, "batchRules");
            return (Criteria) this;
        }

        public Criteria andBatchRulesNotEqualTo(Integer value) {
            addCriterion("batch_rules <>", value, "batchRules");
            return (Criteria) this;
        }

        public Criteria andBatchRulesGreaterThan(Integer value) {
            addCriterion("batch_rules >", value, "batchRules");
            return (Criteria) this;
        }

        public Criteria andBatchRulesGreaterThanOrEqualTo(Integer value) {
            addCriterion("batch_rules >=", value, "batchRules");
            return (Criteria) this;
        }

        public Criteria andBatchRulesLessThan(Integer value) {
            addCriterion("batch_rules <", value, "batchRules");
            return (Criteria) this;
        }

        public Criteria andBatchRulesLessThanOrEqualTo(Integer value) {
            addCriterion("batch_rules <=", value, "batchRules");
            return (Criteria) this;
        }

        public Criteria andBatchRulesIn(List<Integer> values) {
            addCriterion("batch_rules in", values, "batchRules");
            return (Criteria) this;
        }

        public Criteria andBatchRulesNotIn(List<Integer> values) {
            addCriterion("batch_rules not in", values, "batchRules");
            return (Criteria) this;
        }

        public Criteria andBatchRulesBetween(Integer value1, Integer value2) {
            addCriterion("batch_rules between", value1, value2, "batchRules");
            return (Criteria) this;
        }

        public Criteria andBatchRulesNotBetween(Integer value1, Integer value2) {
            addCriterion("batch_rules not between", value1, value2, "batchRules");
            return (Criteria) this;
        }

        public Criteria andRemarkIsNull() {
            addCriterion("remark is null");
            return (Criteria) this;
        }

        public Criteria andRemarkIsNotNull() {
            addCriterion("remark is not null");
            return (Criteria) this;
        }

        public Criteria andRemarkEqualTo(String value) {
            addCriterion("remark =", value, "remark");
            return (Criteria) this;
        }

        public Criteria andRemarkNotEqualTo(String value) {
            addCriterion("remark <>", value, "remark");
            return (Criteria) this;
        }

        public Criteria andRemarkGreaterThan(String value) {
            addCriterion("remark >", value, "remark");
            return (Criteria) this;
        }

        public Criteria andRemarkGreaterThanOrEqualTo(String value) {
            addCriterion("remark >=", value, "remark");
            return (Criteria) this;
        }

        public Criteria andRemarkLessThan(String value) {
            addCriterion("remark <", value, "remark");
            return (Criteria) this;
        }

        public Criteria andRemarkLessThanOrEqualTo(String value) {
            addCriterion("remark <=", value, "remark");
            return (Criteria) this;
        }

        public Criteria andRemarkLike(String value) {
            addCriterion("remark like", value, "remark");
            return (Criteria) this;
        }

        public Criteria andRemarkNotLike(String value) {
            addCriterion("remark not like", value, "remark");
            return (Criteria) this;
        }

        public Criteria andRemarkIn(List<String> values) {
            addCriterion("remark in", values, "remark");
            return (Criteria) this;
        }

        public Criteria andRemarkNotIn(List<String> values) {
            addCriterion("remark not in", values, "remark");
            return (Criteria) this;
        }

        public Criteria andRemarkBetween(String value1, String value2) {
            addCriterion("remark between", value1, value2, "remark");
            return (Criteria) this;
        }

        public Criteria andRemarkNotBetween(String value1, String value2) {
            addCriterion("remark not between", value1, value2, "remark");
            return (Criteria) this;
        }

        public Criteria andCreatorIsNull() {
            addCriterion("creator is null");
            return (Criteria) this;
        }

        public Criteria andCreatorIsNotNull() {
            addCriterion("creator is not null");
            return (Criteria) this;
        }

        public Criteria andCreatorEqualTo(Integer value) {
            addCriterion("creator =", value, "creator");
            return (Criteria) this;
        }

        public Criteria andCreatorNotEqualTo(Integer value) {
            addCriterion("creator <>", value, "creator");
            return (Criteria) this;
        }

        public Criteria andCreatorGreaterThan(Integer value) {
            addCriterion("creator >", value, "creator");
            return (Criteria) this;
        }

        public Criteria andCreatorGreaterThanOrEqualTo(Integer value) {
            addCriterion("creator >=", value, "creator");
            return (Criteria) this;
        }

        public Criteria andCreatorLessThan(Integer value) {
            addCriterion("creator <", value, "creator");
            return (Criteria) this;
        }

        public Criteria andCreatorLessThanOrEqualTo(Integer value) {
            addCriterion("creator <=", value, "creator");
            return (Criteria) this;
        }

        public Criteria andCreatorIn(List<Integer> values) {
            addCriterion("creator in", values, "creator");
            return (Criteria) this;
        }

        public Criteria andCreatorNotIn(List<Integer> values) {
            addCriterion("creator not in", values, "creator");
            return (Criteria) this;
        }

        public Criteria andCreatorBetween(Integer value1, Integer value2) {
            addCriterion("creator between", value1, value2, "creator");
            return (Criteria) this;
        }

        public Criteria andCreatorNotBetween(Integer value1, Integer value2) {
            addCriterion("creator not between", value1, value2, "creator");
            return (Criteria) this;
        }

        public Criteria andModifierIsNull() {
            addCriterion("modifier is null");
            return (Criteria) this;
        }

        public Criteria andModifierIsNotNull() {
            addCriterion("modifier is not null");
            return (Criteria) this;
        }

        public Criteria andModifierEqualTo(Integer value) {
            addCriterion("modifier =", value, "modifier");
            return (Criteria) this;
        }

        public Criteria andModifierNotEqualTo(Integer value) {
            addCriterion("modifier <>", value, "modifier");
            return (Criteria) this;
        }

        public Criteria andModifierGreaterThan(Integer value) {
            addCriterion("modifier >", value, "modifier");
            return (Criteria) this;
        }

        public Criteria andModifierGreaterThanOrEqualTo(Integer value) {
            addCriterion("modifier >=", value, "modifier");
            return (Criteria) this;
        }

        public Criteria andModifierLessThan(Integer value) {
            addCriterion("modifier <", value, "modifier");
            return (Criteria) this;
        }

        public Criteria andModifierLessThanOrEqualTo(Integer value) {
            addCriterion("modifier <=", value, "modifier");
            return (Criteria) this;
        }

        public Criteria andModifierIn(List<Integer> values) {
            addCriterion("modifier in", values, "modifier");
            return (Criteria) this;
        }

        public Criteria andModifierNotIn(List<Integer> values) {
            addCriterion("modifier not in", values, "modifier");
            return (Criteria) this;
        }

        public Criteria andModifierBetween(Integer value1, Integer value2) {
            addCriterion("modifier between", value1, value2, "modifier");
            return (Criteria) this;
        }

        public Criteria andModifierNotBetween(Integer value1, Integer value2) {
            addCriterion("modifier not between", value1, value2, "modifier");
            return (Criteria) this;
        }

        public Criteria andCreatedAtIsNull() {
            addCriterion("created_at is null");
            return (Criteria) this;
        }

        public Criteria andCreatedAtIsNotNull() {
            addCriterion("created_at is not null");
            return (Criteria) this;
        }

        public Criteria andCreatedAtEqualTo(Date value) {
            addCriterion("created_at =", value, "createdAt");
            return (Criteria) this;
        }

        public Criteria andCreatedAtNotEqualTo(Date value) {
            addCriterion("created_at <>", value, "createdAt");
            return (Criteria) this;
        }

        public Criteria andCreatedAtGreaterThan(Date value) {
            addCriterion("created_at >", value, "createdAt");
            return (Criteria) this;
        }

        public Criteria andCreatedAtGreaterThanOrEqualTo(Date value) {
            addCriterion("created_at >=", value, "createdAt");
            return (Criteria) this;
        }

        public Criteria andCreatedAtLessThan(Date value) {
            addCriterion("created_at <", value, "createdAt");
            return (Criteria) this;
        }

        public Criteria andCreatedAtLessThanOrEqualTo(Date value) {
            addCriterion("created_at <=", value, "createdAt");
            return (Criteria) this;
        }

        public Criteria andCreatedAtIn(List<Date> values) {
            addCriterion("created_at in", values, "createdAt");
            return (Criteria) this;
        }

        public Criteria andCreatedAtNotIn(List<Date> values) {
            addCriterion("created_at not in", values, "createdAt");
            return (Criteria) this;
        }

        public Criteria andCreatedAtBetween(Date value1, Date value2) {
            addCriterion("created_at between", value1, value2, "createdAt");
            return (Criteria) this;
        }

        public Criteria andCreatedAtNotBetween(Date value1, Date value2) {
            addCriterion("created_at not between", value1, value2, "createdAt");
            return (Criteria) this;
        }

        public Criteria andUpdatedAtIsNull() {
            addCriterion("updated_at is null");
            return (Criteria) this;
        }

        public Criteria andUpdatedAtIsNotNull() {
            addCriterion("updated_at is not null");
            return (Criteria) this;
        }

        public Criteria andUpdatedAtEqualTo(Date value) {
            addCriterion("updated_at =", value, "updatedAt");
            return (Criteria) this;
        }

        public Criteria andUpdatedAtNotEqualTo(Date value) {
            addCriterion("updated_at <>", value, "updatedAt");
            return (Criteria) this;
        }

        public Criteria andUpdatedAtGreaterThan(Date value) {
            addCriterion("updated_at >", value, "updatedAt");
            return (Criteria) this;
        }

        public Criteria andUpdatedAtGreaterThanOrEqualTo(Date value) {
            addCriterion("updated_at >=", value, "updatedAt");
            return (Criteria) this;
        }

        public Criteria andUpdatedAtLessThan(Date value) {
            addCriterion("updated_at <", value, "updatedAt");
            return (Criteria) this;
        }

        public Criteria andUpdatedAtLessThanOrEqualTo(Date value) {
            addCriterion("updated_at <=", value, "updatedAt");
            return (Criteria) this;
        }

        public Criteria andUpdatedAtIn(List<Date> values) {
            addCriterion("updated_at in", values, "updatedAt");
            return (Criteria) this;
        }

        public Criteria andUpdatedAtNotIn(List<Date> values) {
            addCriterion("updated_at not in", values, "updatedAt");
            return (Criteria) this;
        }

        public Criteria andUpdatedAtBetween(Date value1, Date value2) {
            addCriterion("updated_at between", value1, value2, "updatedAt");
            return (Criteria) this;
        }

        public Criteria andUpdatedAtNotBetween(Date value1, Date value2) {
            addCriterion("updated_at not between", value1, value2, "updatedAt");
            return (Criteria) this;
        }

        public Criteria andDefaultSupplierIdIsNull() {
            addCriterion("default_supplier_id is null");
            return (Criteria) this;
        }

        public Criteria andDefaultSupplierIdIsNotNull() {
            addCriterion("default_supplier_id is not null");
            return (Criteria) this;
        }

        public Criteria andDefaultSupplierIdEqualTo(String value) {
            addCriterion("default_supplier_id =", value, "defaultSupplierId");
            return (Criteria) this;
        }

        public Criteria andDefaultSupplierIdNotEqualTo(String value) {
            addCriterion("default_supplier_id <>", value, "defaultSupplierId");
            return (Criteria) this;
        }

        public Criteria andDefaultSupplierIdGreaterThan(String value) {
            addCriterion("default_supplier_id >", value, "defaultSupplierId");
            return (Criteria) this;
        }

        public Criteria andDefaultSupplierIdGreaterThanOrEqualTo(String value) {
            addCriterion("default_supplier_id >=", value, "defaultSupplierId");
            return (Criteria) this;
        }

        public Criteria andDefaultSupplierIdLessThan(String value) {
            addCriterion("default_supplier_id <", value, "defaultSupplierId");
            return (Criteria) this;
        }

        public Criteria andDefaultSupplierIdLessThanOrEqualTo(String value) {
            addCriterion("default_supplier_id <=", value, "defaultSupplierId");
            return (Criteria) this;
        }

        public Criteria andDefaultSupplierIdLike(String value) {
            addCriterion("default_supplier_id like", value, "defaultSupplierId");
            return (Criteria) this;
        }

        public Criteria andDefaultSupplierIdNotLike(String value) {
            addCriterion("default_supplier_id not like", value, "defaultSupplierId");
            return (Criteria) this;
        }

        public Criteria andDefaultSupplierIdIn(List<String> values) {
            addCriterion("default_supplier_id in", values, "defaultSupplierId");
            return (Criteria) this;
        }

        public Criteria andDefaultSupplierIdNotIn(List<String> values) {
            addCriterion("default_supplier_id not in", values, "defaultSupplierId");
            return (Criteria) this;
        }

        public Criteria andDefaultSupplierIdBetween(String value1, String value2) {
            addCriterion("default_supplier_id between", value1, value2, "defaultSupplierId");
            return (Criteria) this;
        }

        public Criteria andDefaultSupplierIdNotBetween(String value1, String value2) {
            addCriterion("default_supplier_id not between", value1, value2, "defaultSupplierId");
            return (Criteria) this;
        }

        public Criteria andIsExpireDateManagementIsNull() {
            addCriterion("is_expire_date_management is null");
            return (Criteria) this;
        }

        public Criteria andIsExpireDateManagementIsNotNull() {
            addCriterion("is_expire_date_management is not null");
            return (Criteria) this;
        }

        public Criteria andIsExpireDateManagementEqualTo(Boolean value) {
            addCriterion("is_expire_date_management =", value, "isExpireDateManagement");
            return (Criteria) this;
        }

        public Criteria andIsExpireDateManagementNotEqualTo(Boolean value) {
            addCriterion("is_expire_date_management <>", value, "isExpireDateManagement");
            return (Criteria) this;
        }

        public Criteria andIsExpireDateManagementGreaterThan(Boolean value) {
            addCriterion("is_expire_date_management >", value, "isExpireDateManagement");
            return (Criteria) this;
        }

        public Criteria andIsExpireDateManagementGreaterThanOrEqualTo(Boolean value) {
            addCriterion("is_expire_date_management >=", value, "isExpireDateManagement");
            return (Criteria) this;
        }

        public Criteria andIsExpireDateManagementLessThan(Boolean value) {
            addCriterion("is_expire_date_management <", value, "isExpireDateManagement");
            return (Criteria) this;
        }

        public Criteria andIsExpireDateManagementLessThanOrEqualTo(Boolean value) {
            addCriterion("is_expire_date_management <=", value, "isExpireDateManagement");
            return (Criteria) this;
        }

        public Criteria andIsExpireDateManagementIn(List<Boolean> values) {
            addCriterion("is_expire_date_management in", values, "isExpireDateManagement");
            return (Criteria) this;
        }

        public Criteria andIsExpireDateManagementNotIn(List<Boolean> values) {
            addCriterion("is_expire_date_management not in", values, "isExpireDateManagement");
            return (Criteria) this;
        }

        public Criteria andIsExpireDateManagementBetween(Boolean value1, Boolean value2) {
            addCriterion("is_expire_date_management between", value1, value2, "isExpireDateManagement");
            return (Criteria) this;
        }

        public Criteria andIsExpireDateManagementNotBetween(Boolean value1, Boolean value2) {
            addCriterion("is_expire_date_management not between", value1, value2, "isExpireDateManagement");
            return (Criteria) this;
        }

        public Criteria andExpiredDayIsNull() {
            addCriterion("expired_day is null");
            return (Criteria) this;
        }

        public Criteria andExpiredDayIsNotNull() {
            addCriterion("expired_day is not null");
            return (Criteria) this;
        }

        public Criteria andExpiredDayEqualTo(Integer value) {
            addCriterion("expired_day =", value, "expiredDay");
            return (Criteria) this;
        }

        public Criteria andExpiredDayNotEqualTo(Integer value) {
            addCriterion("expired_day <>", value, "expiredDay");
            return (Criteria) this;
        }

        public Criteria andExpiredDayGreaterThan(Integer value) {
            addCriterion("expired_day >", value, "expiredDay");
            return (Criteria) this;
        }

        public Criteria andExpiredDayGreaterThanOrEqualTo(Integer value) {
            addCriterion("expired_day >=", value, "expiredDay");
            return (Criteria) this;
        }

        public Criteria andExpiredDayLessThan(Integer value) {
            addCriterion("expired_day <", value, "expiredDay");
            return (Criteria) this;
        }

        public Criteria andExpiredDayLessThanOrEqualTo(Integer value) {
            addCriterion("expired_day <=", value, "expiredDay");
            return (Criteria) this;
        }

        public Criteria andExpiredDayIn(List<Integer> values) {
            addCriterion("expired_day in", values, "expiredDay");
            return (Criteria) this;
        }

        public Criteria andExpiredDayNotIn(List<Integer> values) {
            addCriterion("expired_day not in", values, "expiredDay");
            return (Criteria) this;
        }

        public Criteria andExpiredDayBetween(Integer value1, Integer value2) {
            addCriterion("expired_day between", value1, value2, "expiredDay");
            return (Criteria) this;
        }

        public Criteria andExpiredDayNotBetween(Integer value1, Integer value2) {
            addCriterion("expired_day not between", value1, value2, "expiredDay");
            return (Criteria) this;
        }

        public Criteria andSaleTaxCodeIsNull() {
            addCriterion("sale_tax_code is null");
            return (Criteria) this;
        }

        public Criteria andSaleTaxCodeIsNotNull() {
            addCriterion("sale_tax_code is not null");
            return (Criteria) this;
        }

        public Criteria andSaleTaxCodeEqualTo(String value) {
            addCriterion("sale_tax_code =", value, "saleTaxCode");
            return (Criteria) this;
        }

        public Criteria andSaleTaxCodeNotEqualTo(String value) {
            addCriterion("sale_tax_code <>", value, "saleTaxCode");
            return (Criteria) this;
        }

        public Criteria andSaleTaxCodeGreaterThan(String value) {
            addCriterion("sale_tax_code >", value, "saleTaxCode");
            return (Criteria) this;
        }

        public Criteria andSaleTaxCodeGreaterThanOrEqualTo(String value) {
            addCriterion("sale_tax_code >=", value, "saleTaxCode");
            return (Criteria) this;
        }

        public Criteria andSaleTaxCodeLessThan(String value) {
            addCriterion("sale_tax_code <", value, "saleTaxCode");
            return (Criteria) this;
        }

        public Criteria andSaleTaxCodeLessThanOrEqualTo(String value) {
            addCriterion("sale_tax_code <=", value, "saleTaxCode");
            return (Criteria) this;
        }

        public Criteria andSaleTaxCodeLike(String value) {
            addCriterion("sale_tax_code like", value, "saleTaxCode");
            return (Criteria) this;
        }

        public Criteria andSaleTaxCodeNotLike(String value) {
            addCriterion("sale_tax_code not like", value, "saleTaxCode");
            return (Criteria) this;
        }

        public Criteria andSaleTaxCodeIn(List<String> values) {
            addCriterion("sale_tax_code in", values, "saleTaxCode");
            return (Criteria) this;
        }

        public Criteria andSaleTaxCodeNotIn(List<String> values) {
            addCriterion("sale_tax_code not in", values, "saleTaxCode");
            return (Criteria) this;
        }

        public Criteria andSaleTaxCodeBetween(String value1, String value2) {
            addCriterion("sale_tax_code between", value1, value2, "saleTaxCode");
            return (Criteria) this;
        }

        public Criteria andSaleTaxCodeNotBetween(String value1, String value2) {
            addCriterion("sale_tax_code not between", value1, value2, "saleTaxCode");
            return (Criteria) this;
        }

        public Criteria andCategoryTaxCodeIsNull() {
            addCriterion("category_tax_code is null");
            return (Criteria) this;
        }

        public Criteria andCategoryTaxCodeIsNotNull() {
            addCriterion("category_tax_code is not null");
            return (Criteria) this;
        }

        public Criteria andCategoryTaxCodeEqualTo(String value) {
            addCriterion("category_tax_code =", value, "categoryTaxCode");
            return (Criteria) this;
        }

        public Criteria andCategoryTaxCodeNotEqualTo(String value) {
            addCriterion("category_tax_code <>", value, "categoryTaxCode");
            return (Criteria) this;
        }

        public Criteria andCategoryTaxCodeGreaterThan(String value) {
            addCriterion("category_tax_code >", value, "categoryTaxCode");
            return (Criteria) this;
        }

        public Criteria andCategoryTaxCodeGreaterThanOrEqualTo(String value) {
            addCriterion("category_tax_code >=", value, "categoryTaxCode");
            return (Criteria) this;
        }

        public Criteria andCategoryTaxCodeLessThan(String value) {
            addCriterion("category_tax_code <", value, "categoryTaxCode");
            return (Criteria) this;
        }

        public Criteria andCategoryTaxCodeLessThanOrEqualTo(String value) {
            addCriterion("category_tax_code <=", value, "categoryTaxCode");
            return (Criteria) this;
        }

        public Criteria andCategoryTaxCodeLike(String value) {
            addCriterion("category_tax_code like", value, "categoryTaxCode");
            return (Criteria) this;
        }

        public Criteria andCategoryTaxCodeNotLike(String value) {
            addCriterion("category_tax_code not like", value, "categoryTaxCode");
            return (Criteria) this;
        }

        public Criteria andCategoryTaxCodeIn(List<String> values) {
            addCriterion("category_tax_code in", values, "categoryTaxCode");
            return (Criteria) this;
        }

        public Criteria andCategoryTaxCodeNotIn(List<String> values) {
            addCriterion("category_tax_code not in", values, "categoryTaxCode");
            return (Criteria) this;
        }

        public Criteria andCategoryTaxCodeBetween(String value1, String value2) {
            addCriterion("category_tax_code between", value1, value2, "categoryTaxCode");
            return (Criteria) this;
        }

        public Criteria andCategoryTaxCodeNotBetween(String value1, String value2) {
            addCriterion("category_tax_code not between", value1, value2, "categoryTaxCode");
            return (Criteria) this;
        }

        public Criteria andSourceIsNull() {
            addCriterion("source is null");
            return (Criteria) this;
        }

        public Criteria andSourceIsNotNull() {
            addCriterion("source is not null");
            return (Criteria) this;
        }

        public Criteria andSourceEqualTo(String value) {
            addCriterion("source =", value, "source");
            return (Criteria) this;
        }

        public Criteria andSourceNotEqualTo(String value) {
            addCriterion("source <>", value, "source");
            return (Criteria) this;
        }

        public Criteria andSourceGreaterThan(String value) {
            addCriterion("source >", value, "source");
            return (Criteria) this;
        }

        public Criteria andSourceGreaterThanOrEqualTo(String value) {
            addCriterion("source >=", value, "source");
            return (Criteria) this;
        }

        public Criteria andSourceLessThan(String value) {
            addCriterion("source <", value, "source");
            return (Criteria) this;
        }

        public Criteria andSourceLessThanOrEqualTo(String value) {
            addCriterion("source <=", value, "source");
            return (Criteria) this;
        }

        public Criteria andSourceLike(String value) {
            addCriterion("source like", value, "source");
            return (Criteria) this;
        }

        public Criteria andSourceNotLike(String value) {
            addCriterion("source not like", value, "source");
            return (Criteria) this;
        }

        public Criteria andSourceIn(List<String> values) {
            addCriterion("source in", values, "source");
            return (Criteria) this;
        }

        public Criteria andSourceNotIn(List<String> values) {
            addCriterion("source not in", values, "source");
            return (Criteria) this;
        }

        public Criteria andSourceBetween(String value1, String value2) {
            addCriterion("source between", value1, value2, "source");
            return (Criteria) this;
        }

        public Criteria andSourceNotBetween(String value1, String value2) {
            addCriterion("source not between", value1, value2, "source");
            return (Criteria) this;
        }

        public Criteria andIsSerialNoManageIsNull() {
            addCriterion("is_serial_no_manage is null");
            return (Criteria) this;
        }

        public Criteria andIsSerialNoManageIsNotNull() {
            addCriterion("is_serial_no_manage is not null");
            return (Criteria) this;
        }

        public Criteria andIsSerialNoManageEqualTo(Boolean value) {
            addCriterion("is_serial_no_manage =", value, "isSerialNoManage");
            return (Criteria) this;
        }

        public Criteria andIsSerialNoManageNotEqualTo(Boolean value) {
            addCriterion("is_serial_no_manage <>", value, "isSerialNoManage");
            return (Criteria) this;
        }

        public Criteria andIsSerialNoManageGreaterThan(Boolean value) {
            addCriterion("is_serial_no_manage >", value, "isSerialNoManage");
            return (Criteria) this;
        }

        public Criteria andIsSerialNoManageGreaterThanOrEqualTo(Boolean value) {
            addCriterion("is_serial_no_manage >=", value, "isSerialNoManage");
            return (Criteria) this;
        }

        public Criteria andIsSerialNoManageLessThan(Boolean value) {
            addCriterion("is_serial_no_manage <", value, "isSerialNoManage");
            return (Criteria) this;
        }

        public Criteria andIsSerialNoManageLessThanOrEqualTo(Boolean value) {
            addCriterion("is_serial_no_manage <=", value, "isSerialNoManage");
            return (Criteria) this;
        }

        public Criteria andIsSerialNoManageIn(List<Boolean> values) {
            addCriterion("is_serial_no_manage in", values, "isSerialNoManage");
            return (Criteria) this;
        }

        public Criteria andIsSerialNoManageNotIn(List<Boolean> values) {
            addCriterion("is_serial_no_manage not in", values, "isSerialNoManage");
            return (Criteria) this;
        }

        public Criteria andIsSerialNoManageBetween(Boolean value1, Boolean value2) {
            addCriterion("is_serial_no_manage between", value1, value2, "isSerialNoManage");
            return (Criteria) this;
        }

        public Criteria andIsSerialNoManageNotBetween(Boolean value1, Boolean value2) {
            addCriterion("is_serial_no_manage not between", value1, value2, "isSerialNoManage");
            return (Criteria) this;
        }

        public Criteria andMallSpuIdIsNull() {
            addCriterion("mall_spu_id is null");
            return (Criteria) this;
        }

        public Criteria andMallSpuIdIsNotNull() {
            addCriterion("mall_spu_id is not null");
            return (Criteria) this;
        }

        public Criteria andMallSpuIdEqualTo(Integer value) {
            addCriterion("mall_spu_id =", value, "mallSpuId");
            return (Criteria) this;
        }

        public Criteria andMallSpuIdNotEqualTo(Integer value) {
            addCriterion("mall_spu_id <>", value, "mallSpuId");
            return (Criteria) this;
        }

        public Criteria andMallSpuIdGreaterThan(Integer value) {
            addCriterion("mall_spu_id >", value, "mallSpuId");
            return (Criteria) this;
        }

        public Criteria andMallSpuIdGreaterThanOrEqualTo(Integer value) {
            addCriterion("mall_spu_id >=", value, "mallSpuId");
            return (Criteria) this;
        }

        public Criteria andMallSpuIdLessThan(Integer value) {
            addCriterion("mall_spu_id <", value, "mallSpuId");
            return (Criteria) this;
        }

        public Criteria andMallSpuIdLessThanOrEqualTo(Integer value) {
            addCriterion("mall_spu_id <=", value, "mallSpuId");
            return (Criteria) this;
        }

        public Criteria andMallSpuIdIn(List<Integer> values) {
            addCriterion("mall_spu_id in", values, "mallSpuId");
            return (Criteria) this;
        }

        public Criteria andMallSpuIdNotIn(List<Integer> values) {
            addCriterion("mall_spu_id not in", values, "mallSpuId");
            return (Criteria) this;
        }

        public Criteria andMallSpuIdBetween(Integer value1, Integer value2) {
            addCriterion("mall_spu_id between", value1, value2, "mallSpuId");
            return (Criteria) this;
        }

        public Criteria andMallSpuIdNotBetween(Integer value1, Integer value2) {
            addCriterion("mall_spu_id not between", value1, value2, "mallSpuId");
            return (Criteria) this;
        }

        public Criteria andBrochureUrlIsNull() {
            addCriterion("brochure_url is null");
            return (Criteria) this;
        }

        public Criteria andBrochureUrlIsNotNull() {
            addCriterion("brochure_url is not null");
            return (Criteria) this;
        }

        public Criteria andBrochureUrlEqualTo(String value) {
            addCriterion("brochure_url =", value, "brochureUrl");
            return (Criteria) this;
        }

        public Criteria andBrochureUrlNotEqualTo(String value) {
            addCriterion("brochure_url <>", value, "brochureUrl");
            return (Criteria) this;
        }

        public Criteria andBrochureUrlGreaterThan(String value) {
            addCriterion("brochure_url >", value, "brochureUrl");
            return (Criteria) this;
        }

        public Criteria andBrochureUrlGreaterThanOrEqualTo(String value) {
            addCriterion("brochure_url >=", value, "brochureUrl");
            return (Criteria) this;
        }

        public Criteria andBrochureUrlLessThan(String value) {
            addCriterion("brochure_url <", value, "brochureUrl");
            return (Criteria) this;
        }

        public Criteria andBrochureUrlLessThanOrEqualTo(String value) {
            addCriterion("brochure_url <=", value, "brochureUrl");
            return (Criteria) this;
        }

        public Criteria andBrochureUrlLike(String value) {
            addCriterion("brochure_url like", value, "brochureUrl");
            return (Criteria) this;
        }

        public Criteria andBrochureUrlNotLike(String value) {
            addCriterion("brochure_url not like", value, "brochureUrl");
            return (Criteria) this;
        }

        public Criteria andBrochureUrlIn(List<String> values) {
            addCriterion("brochure_url in", values, "brochureUrl");
            return (Criteria) this;
        }

        public Criteria andBrochureUrlNotIn(List<String> values) {
            addCriterion("brochure_url not in", values, "brochureUrl");
            return (Criteria) this;
        }

        public Criteria andBrochureUrlBetween(String value1, String value2) {
            addCriterion("brochure_url between", value1, value2, "brochureUrl");
            return (Criteria) this;
        }

        public Criteria andBrochureUrlNotBetween(String value1, String value2) {
            addCriterion("brochure_url not between", value1, value2, "brochureUrl");
            return (Criteria) this;
        }

        public Criteria andSaleTaxRatioIsNull() {
            addCriterion("sale_tax_ratio is null");
            return (Criteria) this;
        }

        public Criteria andSaleTaxRatioIsNotNull() {
            addCriterion("sale_tax_ratio is not null");
            return (Criteria) this;
        }

        public Criteria andSaleTaxRatioEqualTo(BigDecimal value) {
            addCriterion("sale_tax_ratio =", value, "saleTaxRatio");
            return (Criteria) this;
        }

        public Criteria andSaleTaxRatioNotEqualTo(BigDecimal value) {
            addCriterion("sale_tax_ratio <>", value, "saleTaxRatio");
            return (Criteria) this;
        }

        public Criteria andSaleTaxRatioGreaterThan(BigDecimal value) {
            addCriterion("sale_tax_ratio >", value, "saleTaxRatio");
            return (Criteria) this;
        }

        public Criteria andSaleTaxRatioGreaterThanOrEqualTo(BigDecimal value) {
            addCriterion("sale_tax_ratio >=", value, "saleTaxRatio");
            return (Criteria) this;
        }

        public Criteria andSaleTaxRatioLessThan(BigDecimal value) {
            addCriterion("sale_tax_ratio <", value, "saleTaxRatio");
            return (Criteria) this;
        }

        public Criteria andSaleTaxRatioLessThanOrEqualTo(BigDecimal value) {
            addCriterion("sale_tax_ratio <=", value, "saleTaxRatio");
            return (Criteria) this;
        }

        public Criteria andSaleTaxRatioIn(List<BigDecimal> values) {
            addCriterion("sale_tax_ratio in", values, "saleTaxRatio");
            return (Criteria) this;
        }

        public Criteria andSaleTaxRatioNotIn(List<BigDecimal> values) {
            addCriterion("sale_tax_ratio not in", values, "saleTaxRatio");
            return (Criteria) this;
        }

        public Criteria andSaleTaxRatioBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("sale_tax_ratio between", value1, value2, "saleTaxRatio");
            return (Criteria) this;
        }

        public Criteria andSaleTaxRatioNotBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("sale_tax_ratio not between", value1, value2, "saleTaxRatio");
            return (Criteria) this;
        }

        public Criteria andSpuEnNameIsNull() {
            addCriterion("spu_en_name is null");
            return (Criteria) this;
        }

        public Criteria andSpuEnNameIsNotNull() {
            addCriterion("spu_en_name is not null");
            return (Criteria) this;
        }

        public Criteria andSpuEnNameEqualTo(String value) {
            addCriterion("spu_en_name =", value, "spuEnName");
            return (Criteria) this;
        }

        public Criteria andSpuEnNameNotEqualTo(String value) {
            addCriterion("spu_en_name <>", value, "spuEnName");
            return (Criteria) this;
        }

        public Criteria andSpuEnNameGreaterThan(String value) {
            addCriterion("spu_en_name >", value, "spuEnName");
            return (Criteria) this;
        }

        public Criteria andSpuEnNameGreaterThanOrEqualTo(String value) {
            addCriterion("spu_en_name >=", value, "spuEnName");
            return (Criteria) this;
        }

        public Criteria andSpuEnNameLessThan(String value) {
            addCriterion("spu_en_name <", value, "spuEnName");
            return (Criteria) this;
        }

        public Criteria andSpuEnNameLessThanOrEqualTo(String value) {
            addCriterion("spu_en_name <=", value, "spuEnName");
            return (Criteria) this;
        }

        public Criteria andSpuEnNameLike(String value) {
            addCriterion("spu_en_name like", value, "spuEnName");
            return (Criteria) this;
        }

        public Criteria andSpuEnNameNotLike(String value) {
            addCriterion("spu_en_name not like", value, "spuEnName");
            return (Criteria) this;
        }

        public Criteria andSpuEnNameIn(List<String> values) {
            addCriterion("spu_en_name in", values, "spuEnName");
            return (Criteria) this;
        }

        public Criteria andSpuEnNameNotIn(List<String> values) {
            addCriterion("spu_en_name not in", values, "spuEnName");
            return (Criteria) this;
        }

        public Criteria andSpuEnNameBetween(String value1, String value2) {
            addCriterion("spu_en_name between", value1, value2, "spuEnName");
            return (Criteria) this;
        }

        public Criteria andSpuEnNameNotBetween(String value1, String value2) {
            addCriterion("spu_en_name not between", value1, value2, "spuEnName");
            return (Criteria) this;
        }
    }

    public static class Criteria extends GeneratedCriteria {

        protected Criteria() {
            super();
        }
    }

    public static class Criterion {
        private String condition;

        private Object value;

        private Object secondValue;

        private boolean noValue;

        private boolean singleValue;

        private boolean betweenValue;

        private boolean listValue;

        private String typeHandler;

        public String getCondition() {
            return condition;
        }

        public Object getValue() {
            return value;
        }

        public Object getSecondValue() {
            return secondValue;
        }

        public boolean isNoValue() {
            return noValue;
        }

        public boolean isSingleValue() {
            return singleValue;
        }

        public boolean isBetweenValue() {
            return betweenValue;
        }

        public boolean isListValue() {
            return listValue;
        }

        public String getTypeHandler() {
            return typeHandler;
        }

        protected Criterion(String condition) {
            super();
            this.condition = condition;
            this.typeHandler = null;
            this.noValue = true;
        }

        protected Criterion(String condition, Object value, String typeHandler) {
            super();
            this.condition = condition;
            this.value = value;
            this.typeHandler = typeHandler;
            if (value instanceof List<?>) {
                this.listValue = true;
            } else {
                this.singleValue = true;
            }
        }

        protected Criterion(String condition, Object value) {
            this(condition, value, null);
        }

        protected Criterion(String condition, Object value, Object secondValue, String typeHandler) {
            super();
            this.condition = condition;
            this.value = value;
            this.secondValue = secondValue;
            this.typeHandler = typeHandler;
            this.betweenValue = true;
        }

        protected Criterion(String condition, Object value, Object secondValue) {
            this(condition, value, secondValue, null);
        }
    }
}